• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >数据库其它 > ORACLE 系统函数大全SQLSERVER系统函数的异同

ORACLE 系统函数大全SQLSERVER系统函数的异同

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了oracle连接sqlserver,oracle转sqlserver,oracle和sqlserver,oracle访问sqlserver,oracle连sqlserver等相关知识,希望本文的分享对您有所帮助

字符函数

下面是Oracle支持的字符函数和它们的Microsoft SQL Server等价函数。

函数 Oracle Microsoft SQL Server
把字符转换为ASCII :ASCII ASCII
字串连接: CONCAT --------------(expression + expression)
把ASCII转换为字符 CHR, CHAR
返回字符串中的开始字符(左起) INSTR ,---------------CHARINDEX
把字符转换为小写 LOWER ---------------------LOWER
把字符转换为大写 UPPER-------------------- UPPER
填充字符串的左边 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 or LEN
列表中最大的字符串 GREATEST-------------------- N/A
列表中最小的字符串 LEAST --------------------N/A
如果为NULL则转换字串 NVL-------------------- ISNULL

日期函数

下面是Oracle支持的日期函数和它们的Microsoft SQL Server等价函数。

函数 Oracle --------------------Microsoft SQL Server
日期相加 (date column +/- value) or ADD_MONTHS  --------------------DATEADD

两个日期的差 (date column +/- value) or MONTHS_BETWEEN  --------------------DATEDIFF
当前日期和时间 SYSDATE --------------------GETDATE()
一个月的最后一天 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 SQL Server
数字转换为字符 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 SQL Server
返回第一个非空表达式 DECODE -------------------------------------COALESCE
当前序列值 CURRVAL  --------------------N/A
下一个序列值 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 SQL Server
Average AVG -------------------- AVG
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,在没有匹配的时候,DECODE和CASE都返回一个NULL。下表显示了该语句的语法,
同时给出了转换DECODE命令的示例。

Oracle Microsoft SQL 
DECODE (test_value,
expression1, value1
<,expression2, value2] […>
[,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)),2)
FROM STUDENT_ADMIN.GRADE
GROUP BY SSN
CASE input_expression
WHEN when_expression THEN    result_expression

[ELSE else_result_expression]
END
CREATE VIEW STUDENT_ADMIN.STUDENT_GPA
(SSN, GPA)
AS SELECT SSN, ROUND(AVG(CASE grade
WHEN 'A' THEN 4
WHEN 'A+' THEN 4.3
WHEN 'A-' THEN 3.7
WHEN 'B' THEN 3
WHEN 'B+' THEN 3.3
WHEN 'B-' THEN 2.7
WHEN 'C' THEN 2
WHEN 'C+' THEN 2.3
WHEN 'C-' THEN 1.7
WHEN 'D' THEN 1
WHEN 'D+' THEN 1.3
WHEN 'D-' THEN 0.7
ELSE 0
END),2)
FROM STUDENT_ADMIN.GRADE
GROUP BY SSN

CASE表达式可以支持用SELECT语句执行布尔测试,这是DECODE命令所不允许的。欲了解关于CASE表达式的详细信息,
请参阅SQL Server联机手册。

把值转换为不同的数据类型

Microsoft SQL Server的CONVERT和CAST函数都是多目标转换函数。它们提供了相似的功能,
把一种数据类型的表达式转换为另一种数据类型的表达式,并且支持多种专门数据的格式。

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。

转换 Oracle Microsoft SQL Server
字符到数字 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(sysdate)
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"如果你使用任何其它格式,
你必须提供一个合适的日期格式模型。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: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 112 ISO yymmdd
- 13 or 113 (*) Europe default dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SQLServer与Oracle常用函数实例对比汇总
  • SQLServer 2005 和Oracle 语法的一点差异小结
  • ORACLE 系统函数大全SQLSERVER系统函数的异同
  • sqlserver和oracle中对datetime进行条件查询的一点区别小结

相关文章

  • 2017-05-11在Windows下自动备份PostgreSQL的教程
  • 2017-05-11介绍PostgreSQL中的jsonb数据类型
  • 2017-05-11Access和SQL Server里面的SQL语句的不同之处
  • 2017-05-11mysql、mssql及oracle分页查询方法详解
  • 2017-09-02数据库中的乐观锁与悲观锁
  • 2017-05-11分享三种高效率SQL语句分页方法
  • 2017-05-11postgresql sql批量更新记录
  • 2017-05-11Hadoop 2.x伪分布式环境搭建详细步骤
  • 2017-05-11多条件查询的程序
  • 2017-12-17漫谈16S的前世今生

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 详解 MapperScannerConfigurer之sqlSessionFactory注入方式
    • SQL嵌套查询总结
    • Sql Server、Access数据排名的实现方法(例如:成绩排名)
    • MySQL与Oracle差异比较之三 函数
    • 一条DELETE语句
    • mysql "group by"与"order by"的研究--分类中最新的内容
    • redis数据库查找key在内存中的位置的方法
    • postgres 数据库中的数据转换
    • 在PostgreSQL中实现递归查询的教程
    • 数据库三大范式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有