ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:26.67KB ,
资源ID:10771807      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10771807.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ORACLE内部函数大全以及与SQLSERVER的区别.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ORACLE内部函数大全以及与SQLSERVER的区别.docx

1、ORACLE内部函数大全以及与SQLSERVER的区别ORACLE内部函数大全以及与SQLSERVER的区别下面是Oracle支持的字符函数和它们的Microsoft SQL Server等价函数。函数 Oracle Microsoft SQLServer 把字符转换为ASCII :ASCII ASCII 字串连接: CONCAT -(expression + expression) 把ASCII转换为字符 CHR, CHAR 返回字符串中的开始字符(左起) INSTR ,-CHARINDEX 把字符转换为小写 LOWER -LOWER 把字符转换为大写 UPPER- UPPER 填充字符串的

2、左边 LPAD -N/A 清除开始的空白 LTRIM-LTRIM 清除尾部的空白 RTRIM -RTRIM 字符串中的起始模式(pattern) INSTR -PATINDEX 多次重复字符串 RPAD -REPLICATE 字符串的语音表示 SOUNDEX -SOUNDEX 重复空格的字串 RPAD -SPACE 从数字数据转换为字符数据 TO_CHAR -STR 子串 SUBSTR -SUBSTRING 替换字符 REPLACE -STUFF 将字串中的每个词首字母大写 INITCAP -N/A 翻译字符串 TRANSLATE -N/A 字符串长度 LENGTH- DATELENGTH o

3、r LEN 列表中最大的字符串 GREATEST- N/A 列表中最小的字符串 LEAST -N/A 如果为NULL则转换字串 NVL- ISNULL 日期函数下面是Oracle支持的日期函数和它们的Microsoft SQL Server等价函数。函数 Oracle -Microsoft SQLServer 日期相加 (date column +/- value) or ADD_MONTHS -DATEADD 两个日期的差 (date column +/- value) or MONTHS_BETWEEN -DATEDIFF 当前日期和时间 SYSDATE -GETDATE() 一个月的最后

4、一天 LAST_DAY -N/A 时区转换 NEW_TIME -N/A 日期后的第一个周日 NEXT_DAY -N/A 代表日期的字符串 TO_CHAR -DATENAME 代表日期的整数 TO_NUMBER (TO_CHAR) -DATEPART 日期舍入 ROUND -CONVERT 日期截断 TRUNC -CONVERT 字符串转换为日期 TO_DATE -CONVERT 如果为NULL则转换日期 NVL - ISNULL 转换函数下面是Oracle支持的转换函数和它们的Microsoft SQL Server等价函数。函数 Oracle -Microsoft SQLServer 数字转

5、换为字符 TO_CHAR -CONVERT 字符转换为数字 TO_NUMBER -CONVERT 日期转换为字符 TO_CHAR -CONVERT 字符转换为日期 TO_DATE CONVERT 16进制转换为2进制 HEX_TO_RAW -CONVERT 2进制转换为16进制 RAW_TO_HEX -CONVERT 其它行级别的函数下面是Oracle支持的其它行级别的函数以及它们的Microsoft SQL Server等价函数。函数 Oracle -Microsoft SQLServer 返回第一个非空表达式 DECODE -COALESCE 当前序列值 CURRVAL -N/A 下一个序

6、列值 NEXTVAL -N/A 用户登录账号ID数字 UID -SUSER_ID 用户登录名 USER -SUSER_NAME 用户数据库ID数字 UID -USER_ID 用户数据库名 USER -USER_NAME 当前用户 CURRENT_USER - CURRENT_USER 用户环境(audit trail) USERENV -N/A 在CONNECT BY子句中的级别 LEVEL -N/A 合计函数下面是Oracle支持的合计函数和它们的Microsoft SQL Server等价函数。函数 Oracle -Microsoft SQLServer Average AVG - AVG

7、 Count COUNT -COUNT Maximum MAX - MAX Minimum MIN -MIN Standard deviation STDDEV -STDEV or STDEVP Summation SUM - SUM Variance VARIANCE -VAR or VARP 条件测试Oracle的DECODE语句和Microsoft SQL Server的CASE表达式都执行条件测试。当test_value中的值和后面的任何表达式匹配的时候,相关的值就返回。如果没有找到任何匹配的值,就返回default_value。如果没有指定default_value,在没有匹配的时候

8、,DECODE和CASE都返回一个NULL。下表显示了该语句的语法,同时给出了转换DECODE命令的示例。Oracle Microsoft SQL DECODE (test_value,expression1, value1,default_value) CREATE VIEW STUDENT_ADMIN.STUDENT_GPA(SSN, GPA)AS SELECT SSN, ROUND(AVG(DECODE(grade,A, 4,A+, 4.3,A-, 3.7,B, 3,B+, 3.3,B-, 2.7,C, 2,C+, 2.3,C-, 1.7,D, 1,D+, 1.3,D-, 0.7,0),

9、2)FROM STUDENT_ADMIN.GRADEGROUP BY SSNCASE input_expressionWHEN when_expression THEN result_expressionELSE else_result_expressionEND CREATE VIEW STUDENT_ADMIN.STUDENT_GPA(SSN, GPA)AS SELECT SSN, ROUND(AVG(CASE gradeWHEN A THEN 4WHEN A+ THEN 4.3WHEN A- THEN 3.7WHEN B THEN 3WHEN B+ THEN 3.3WHEN B- THE

10、N 2.7WHEN C THEN 2WHEN C+ THEN 2.3WHEN C- THEN 1.7WHEN D THEN 1WHEN D+ THEN 1.3WHEN D- THEN 0.7ELSE 0END),2)FROM STUDENT_ADMIN.GRADEGROUP BY SSN CASE表达式可以支持用SELECT语句执行布尔测试,这是DECODE命令所不允许的。欲了解关于CASE表达式的详细信息,请参阅SQL Server联机手册。把值转换为不同的数据类型Microsoft SQL Server的CONVERT和CAST函数都是多目标转换函数。它们提供了相似的功能,把一种数据类型的

11、表达式转换为另一种数据类型的表达式,并且支持多种专门数据的格式。CAST(expression AS data_type) CONVERT (data type(length), expression , style) CAST是一个SQL-92标准的函数。这些函数执行同Oracle的TO_CHAR、TO_NUMBER、TO_DATE、HEXTORAW以及RAWTOTEXT函数相同的功能。这里所指的数据类型是任何表达式将被转换成为的系统数据类型。不能使用用户定义的数据类型。长度参数是可选的,该参数用于char、varchar、binary以及varbinary数据类型。允许的最大长度是8000

12、。转换 Oracle Microsoft SQLServer 字符到数字 TO_NUMBER() -CONVERT(numeric, ) 数字到字符 TO_CHAR(10) -CONVERT(char, 10) 字符到日期 TO_DATE(-JUL-97)TO_DATE(-JUL-1997,dd-mon-yyyy) TO_DATE(July 4, 1997, Month dd, yyyy) -CONVERT(datetime, -JUL-97)CONVERT(datetime, -JUL-1997)CONVERT(datetime, July 4, 1997) 日期到字符 TO_CHAR(sy

13、sdate)TO_CHAR(sysdate, dd mon yyyy)TO_CHAR(sysdate, mm/dd/yyyy) -CONVERT(char, GETDATE()CONVERT(char, GETDATE(), 106)CONVERT(char, GETDATE(), 101) 16进制到2进制 HEXTORAW(F)- CONVERT(binary, F) 2进制到16进制 RAWTOHEX(binary_column) -CONVERT(char, binary_column) 请注意字符串是怎样转换为日期的。在Oracle中,缺省的日期格式模型是“DD-MON-YY”如果你

14、使用任何其它格式,你必须提供一个合适的日期格式模型。CONVERT函数自动转换标准日期格式,不需要任何格式模型。从日期转换到字符串时,CONVERT函数的缺省输出是“dd mon yyyy hh:mm:ss:mmm(24h)”。用一个数字风格代码来格式化输出,使它能输出为其它类型的日期格式模型。欲了解CONVERT函数的详细信息,请参阅SQL Server联机手册。下表显示了Microsoft SQL Server日期的缺省输出。Without Century With Century Standard Output - 0 or 100 (*) Default mon dd yyyy hh:

15、miAM (or PM) 1 101 USA mm/dd/yy 2 102 ANSI yy.mm.dd 3 103 British/French dd/mm/yy 4 104 German dd.mm.yy 5 105 Italian dd-mm-yy 6 106 - dd mon yy 7 107 - mon dd, yy 8 108 - hh:mm:ss - 9 or 109 (*) Default milliseconds mon dd yyyy hh:mi:ss:mmm (AM or PM) 10 110 USA mm-dd-yy 11 111 Japan yy/mm/dd 12 11

16、2 ISO yymmdd - 13 or 113 (*) Europe default dd mon yyyy hh:mm:ss:mmm(24h) 14 114 - hh:mi:ss:mmm(24h) 用户定义函数Oracle PL/SQL函数可以在Oracle SQL语句中使用。在Microsoft SQL Server中一般可以通过其它方式来实现同样的功能。在SQL Server中可以用表中给出的查询来代替。Oracle Microsoft SQLServer SELECT SSN, FNAME, LNAME, ) TUITION_PAID,TUITION_PAID/GET_SUM_MAJ

17、OR(MAJOR)AS PERCENT_MAJORFROM STUDENT_ADMIN.STUDENT SELECT SSN, FNAME, LNAME, TUITION_PAID, TUITION_PAID/SUM_MAJOR AS PERCENT_MAJORFROM STUDENT_ADMIN.STUDENT,(SELECT MAJOR, SUM(TUITION_PAID) SUM_MAJORFROM STUDENT_ADMIN.STUDENTGROUP BY MAJOR) SUM_STUDENTWHERE STUDENT.MAJOR = SUM_STUDENT.MAJOR CREATE

18、OR REPLACE FUNCTION GET_SUM_MAJOR(INMAJOR VARCHAR2) RETURN NUMBERAS SUM_PAID NUMBER;BEGINSELECT SUM(TUITION_PAID) INTO SUM_PAIDFROM STUDENT_ADMIN.STUDENTWHERE MAJOR = INMAJOR;RETURN(SUM_PAID);END GET_SUM_MAJOR; No CREATE FUNCTION syntax is required; use CREATE PROCEDURE syntax. 比较操作符Oracle和Microsoft

19、 SQL Server的比较操作符几乎是一样的。算符 Oracle Microsoft SQLServer 等于 (=) (=) 大于 () () 小于 () (=) (=) 小于或等于 (=) (=) 不等于 (!=, , =) (!=, , =) 不大于,不小于 N/A ! , ! 在集合中任意成员中 IN IN 不在集合中的任何成员中 NOT IN NOT IN 集合中的任意值 ANY, SOME ANY, SOME 提交集合中的所有值 != ALL, ALL, ALL, = ALL, !=SOME, SOME, SOME, =SOME != ALL, ALL, ALL, = ALL,

20、!=SOME, SOME, SOME, =SOME 像模式(Like pattern) LIKE LIKE 不像模式(Not like pattern) NOT LIKE NOT LIKE X和y之间的值 BETWEEN x AND y BETWEEN x AND y 不在x和y之间的值 NOT BETWEEN NOT BETWEEN 值存在 EXISTS EXISTS 值不存在 NOT EXISTS NOT EXISTS 值为|不为空 IS NULL, IS NOT NULL Same. Also = NULL, !=NULL for backward compatibility (not

21、recommended). 模式匹配SQL Server的LIKE关键字提供了有用的通配符搜索功能,这个功能在Oracle中不支持除了所有的RDBMS都支持的(%)和(_)通配符以外,SQL Server还支持( )和()通配符。( )字符用来查询在一个范围内的所有单个字符。例如,如果你需要查询包含一个从a到f的字符的数据,你可以这样写:“LIKE a-f”或者“LIKE abcdef”。这些附加的通配符的有效性在下表中给出。Oracle Microsoft SQL SELECT * FROM STUDENT_ADMIN.STUDENTWHERE LNAME LIKE A%OR LNAME L

22、IKE B%OR LNAME LIKE C% SELECT * FROM STUDENT_ADMIN.STUDENTWHERE LNAME LIKE ABC% 通配符用来标记那些不在特定范围内的字符。例如,如果除了a到f以外的所有字符都是可以接受的,你可以这样书写:LIKE a - f或者LIKE abcdef。欲了解关于LIKE关键字的详细信息,请参阅SQL Server联机手册。在比较中使用NULL尽管Microsoft SQL Server传统上支持SQL-92标准的和一些非标准的NULL行为,但是它还是支持Oracle中的NULL的用法。为了支持分布式查询,SET ANSI_NULLS

23、必须设定为ON。在进行连接的时候,SQL Server的SQL Server ODBC驱动程序和OLE DB提供者自动把SET ANSI_NULLS设定为ON。这个设置可以在ODBC数据源、ODBC连接属性、或者是在连接到SQL Server之前在应用程序中设置的OLE DB连接属性中进行配置。在从DB-Library应用程序中连接时,SET ANSI_NULLS缺省为OFF。当SET ANSI_DEFAULTS为ON时,SET ANSI_NULLS被允许。欲了解关于NULL用法的详细信息,请参阅SQL Server联机手册。字串连接Oracle使用两个管道符号(|)来作为字串连接操作符,SQ

24、L Server则使用加号(+)。这个差别要求你在应用程序中做小小的修改。Oracle Microsoft SQL SELECT FNAME| |LNAME AS NAMEFROM STUDENT_ADMIN.STUDENT-SELECT FNAME + + LNAME AS NAMEFROM STUDENT_ADMIN.STUDENT 流控制(Control-of-Flow)语言流控制语言控制SQL语句执行流,语句块以及存储过程。PL/SQL和Transact-SQL提供了多数相同的结构,但是还是有一些语法差别。关键字这是两个RDBMS支持的关键字。语句 Oracle PL/SQL -Mic

25、rosoft SQLServer Transact-SQL 声明变量 DECLARE DECLARE 语句块 BEGIN.END; BEGIN.END 条件处理 IFTHEN,ELSIFTHEN,ELSEENDIF; -IFBEGINENDELSE BEGINENDELSE IF CASE expression 无条件结束 RETURN- RETURN 无条件结束当前程序块后面的语句 EXIT BREAK 重新开始一个WHILE循环 N/A CONTINUE 等待指定间隔 N/A (dbms_lock.sleep) WAITFOR 循环控制 WHILE LOOPEND LOOP; -LABELGOTO LABEL;FOREND LOOP;LOOPEND LOOP;WHILE BEGIN ENDLABELGOTO LABEL 程序注释 /* */, - /* */, - 打印输出 RDBMS_OUT

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1