怎样把Oracle查询转换为SQL Server

导读:
  在把Oracle查询转换为SQL Server的时候要特别当心一些不容易注意到的问题。我们知道,T-SQL是SQL Server的语言引擎,而Oracle的语言引擎却是PLSQL.这两种查询语言都对 bbs.bitsCN.com
  ANSI SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何 bitsCN.nET*中国网管博客
  对这些扩展进行转化以用在SQL Server环境下。
  www_bitscn_com中国.网管联盟
  列的选择
  [bitsCN.Com]
  用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL Server的要求是一样的。 SELECT语句必须选择针对的数据表。在Oracle数据库内有一种特殊的表DUAL.DUAL表由 bitsCN#com中国网管联盟
  Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2(1)类型,有一行值X.
  [bitsCN_com]
  从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
  bbs.bitsCN.com
  Oracle下的DUAL查询如下所示: bitsCN~com
  SELECT ‘x’ FROM dual
  中国_网管联盟bitsCN.com
  而对等的SQL Server查询则是下面这个样子: bitsCN#com中国网管联盟
  SELECT ‘x’ bbs.bitsCN.com
  连接
  www_bitscn_com中国.网管联盟
  Oracle用|| 符号作为连接符,而SQL Server的连接符是加号:+ .
  www_bitscn_com中国.网管联盟
  Oracle查询如下所示: [bitsCN.Com]
  Select ‘Name’ || ‘Last Name’
  www@bitscn@com
  From tableName
  DL@bitsCN_com网管软件下载
  对应的SQL Server查询如下所示:
  [bitsCN_com]
  Select ‘Name’ + ‘Last Name’
  [bitsCN.Com]
  数字取舍 bbs.bitsCN.com中国网管论坛
  Oracle数据库内有一个TRUNC函数,该函数返回m位十进制数的n位;如果省略m则n就是0位。m的值可以为负,表示截去小数点左边m位数字。
  BBS.bitsCN.com网管论坛
  在SQL Server下可以用Round或者Floor.
  [bitsCN_com]
  以下是Oracle查询:
  bbs.bitsCN.com中国网管论坛
  SELECT TRUNC(15.79,1) "Truncate" FROM DUAL; bitsCN~com
  下面是同类查询的SQL Server版本: [bitsCN.Com]
  SELECT ROUND(15.79, 0) rounded , [bitsCN.Com]
  ROUND(15.79, 0,1) truncated DL@bitsCN_com网管软件下载
  SELECT FLOOR(ROUND(15.79, 0)),
  DL@bitsCN_com网管软件下载
  FLOOR(ROUND(15.79, 0,1) ) bitsCN~com
  在把Oracle查询转换为SQL Server的时候要特别当心一些不容易注意到的问题。我们知道,T-SQL是SQL Server的语言引擎,而Oracle的语言引擎却是PLSQL.这两种查询语言都对
  bitsCN~com
  ANSI SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何
  bitsCN#com中国网管联盟
  对这些扩展进行转化以用在SQL Server环境下。 bitsCN#com中国网管联盟
  列的选择
  bbs.bitsCN.com中国网管论坛
  用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL Server的要求是一样的。 SELECT语句必须选择针对的数据表。在Oracle数据库内有一种特殊的表DUAL.DUAL表由
  [bitsCN.Com]
  Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2(1)类型,有一行值X.
  bbs.bitsCN.com中国网管论坛
  从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。 www_bitscn_com中国.网管联盟
  Oracle下的DUAL查询如下所示:
  [bitsCN.Com]
  SELECT ‘x’ FROM dual
  [bitsCN.Com]
  而对等的SQL Server查询则是下面这个样子: bbs.bitsCN.com
  SELECT ‘x’ bitsCN.nET*中国网管博客
  连接
  bitsCN#com中国网管联盟
  Oracle用|| 符号作为连接符,而SQL Server的连接符是加号:+ . BBS.bitsCN.com网管论坛

本文转自
http://www.bitscn.com/oracle/backup/200709/109296.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值