转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
把Oracle数据库移植到Microsoft SQL Server 7.0         ★★★★

把Oracle数据库移植到Microsoft SQL Server 7.0

作者:闵涛 文章来源:闵涛的学习笔记 点击数:13397 更新时间:2009/4/22 22:06:51
转换函数

下面是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 如果exp1 = exp2, 返回null DECODE NULLIF 用户登录账号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
[[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(''''10'''') CONVERT(numeric, ''''10'''') 数字到字符 TO_CHAR(10) CONVERT(char, 10) 字符到日期 TO_DATE(''''04-JUL-97'''')
TO_DATE(''''04-JUL-1997'''',
''''dd-mon-yyyy'''')
TO_DATE(''''July 4, 1997'''',
''''Month dd, yyyy'''')
CONVERT(datetime, ''''04-JUL-97'''')
CONVERT(datetime, ''''04-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(''''1F'''') CONVERT(binary, ''''1F'''') 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

 << 上一页  [11] [12] [13] [14] [15] [16] [17]  下一页


[Access]sql随机抽取记录  [Access]ASP&SQL让select查询结果随机排序的实现方法
[聊天工具]企业邮件系统的利器----FoxMail Server  [系统软件]OPEN SERVER 5.0.5安装EXP300阵列柜
[系统软件]SQL语句性能优化--LECCO SQL Expert  [系统软件]关于Windows2000Server的灾难恢复
[常用软件][网络]下载服务革命性风暴Poco Server评测  [C语言系列]动态创建SQL Server数据库、表、存储过程等架构信…
[C语言系列]SQL Server到DB2连接服务器的实现  [C语言系列]SQL Server到SYBASE连接服务器的实现
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台