欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > Oracle与SQL Server的语法区别

Oracle与SQL Server的语法区别

2025/4/22 12:47:44 来源:https://blog.csdn.net/weixin_47777564/article/details/143423302  浏览:    关键词:Oracle与SQL Server的语法区别

1)日期和日期转换函数。

SQL:
SELECT A.*, CASE WHEN NVL(PAA009,'')='' OR PAA009 >Convert(Varchar(10), SYSDATE,120) THEN 'Y' ELSE 'N' END AS ActiveUser 
FROM POWPAA A WHERE PAA001='admin' or PAA002='admin'
Oracle:
SELECT A.*, CASE WHEN NVL(PAA009,'')='' or PAA009>TO_CHAR(SYSDATE,'YYYY-MM-DD') THEN 'Y' 
ELSE 'N' 
END AS ActiveUser FROM POWPAA A WHERE PAA001='admin' or PAA002='admin';

Oracle的CONVERT的函数主要用于将一个字符串从一个字符集转换为另一个字符集。不过需要注意的是,CONVERT函数在Oracle 12c及以上版本中已经被弃用,建议使用其等价函数NLS_CONVERT来替代

select  to_char(sysdate, 'YYYY-MM-DD HH24:MM:SS'),
TO_CHAR(SYSDATE,'YYYY-MM-DD'),to_char(sysdate, 'd'),
TO_DATE('2023-04-01', 'YYYY-MM-DD'),
TO_DATE('2023-04-01 14:00:00', 'YYYY-MM-DD HH24:MI:SS')
from    dual;

2)Isnull()函数 要用NAL替代

SQL:     ISNUL(Auditing,'N')
Oracle:   NVL(Auditing,'N')

3)Oracle不能使用NOLOCK,默认是读取未提交的

4)不能使用数据库前缀,数据表取别名时也不能用as

 Select * from dbo.POWPAA

在这里插入图片描述
5)跨数据库查询
在Oracle中执行跨数据库查询可以通过数据库链接(Database Link)来实现。以下是实现步骤:
创建数据库链接: 在目标数据库中创建一个到源数据库的数据库链接,可以使用以下SQL语句创建数据库链接:

CREATE DATABASE LINK link_to_sourceCONNECT TO source_user IDENTIFIED BY source_passwordUSING 'source_database';

其中,link_to_source是链接的名称,source_user和source_password是源数据库的用户名和密码,source_database是源数据库的连接字符串。
执行跨数据库查询: 在目标数据库中,可以使用以下SQL语句执行跨数据库查询:

SELECT * FROM table_name@link_to_source;

其中,table_name是源数据库中的表名,link_to_source是之前创建的数据库链接。

6)数字与字符的转化

 SELECT TO_CHAR(12345) AS number_as_char FROM DUAL;
SELECT TO_NUMBER('12345') AS number_from_char FROM DUAL;

7)Oracle没有TOP语句,要使用Rownum来规代

SELECT * FROM table_name WHERE ROWNUM <= 10 ORDER BY column_name;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词