在把Oracle查询结果转换为SQL
Server的时候要特别当心一些不容易注意到的问题。
我们知道,T-SQL是SQL
Server的语言引擎,而Oracle的语言引擎却是PLSQL这两种查询语言都对
ANSI
SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何
对这些扩展进行转化以用在SQL
Server环境下。
列的选择
用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL
Server的要求是一样的。
SELECT语句必须选择针对的数据表。在Oracle数据库内有一种特殊的表DUALDUAL表由
Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2
(1)类型,有一行值X
从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
Oracle下的DUAL查询如下所示:
SELECT
‘x’
FROM
dual
而对等的SQL
Server查询则是下面这个样子:
SELECT
‘x’
连接
Oracle用||
符号作为连接符,而SQL
Server的连接符是加号:+
Oracle查询如下所示:
Select
‘Name’
||
‘Last
Name’
From
tableName
对应的SQL
Server查询如下所示:
Select
‘Name’
+
‘Last
Name’
数字取舍
Oracle数据库内有一个TRUNC函数,该函数返回m位十进制数的n位;如果省略m则n就是0位。m的值可以为负,表示截去小数点左边m位数字。
在SQL
Server下可以用Round或者Floor
以下是Oracle查询:
SELECT
TRUNC(1579,1)
"Truncate"
FROM
DUAL;
下面是同类查询的SQL
Server版本:
SELECT
ROUND(1579,
0)
rounded
,
ROUND(1579,
0,1)
truncated
SELECT
FLOOR(ROUND(1579,
0)),
FLOOR(ROUND(1579,
0,1)
)
在把Oracle查询转换为SQL
Server的时候要特别当心一些不容易注意到的问题。我们知道,T-SQL是SQL
Server的语言引擎,而Oracle的语言引擎却是PLSQL这两种查询语言都对
ANSI
SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何
对这些扩展进行转化以用在SQL
Server环境下。
列的选择
用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL
Server的要求是一样的。
SELECT语句必须选择针对的数据表。在Oracle数据库内有一种特殊的表DUALDUAL表由
Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2
(1)类型,有一行值X
从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。
Oracle下的DUAL查询如下所示:
SELECT
‘x’
FROM
dual
而对等的SQL
Server查询则是下面这个样子:
SELECT
‘x’
连接
Oracle用||
符号作为连接符,而SQL
Server的连接符是加号:+
Oracle查询如下所示:
Select
‘Name’
||
‘Last
Name’
From
tableName
对应的SQL
Server查询如下所示:
Select
‘Name’
+
‘Last
Name’
以上就是关于mysql 数据库题目 查询Student表中每个学生的姓名和年龄。全部的内容,包括:mysql 数据库题目 查询Student表中每个学生的姓名和年龄。、写自定义函数实现,math.h 中的 floor函数、急求SQL数据库中能用到的关键字及其用处最好能举例说明一下!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)