Oracle与SQL Server的语法区别

news/2024/11/2 4:56:02/

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;

http://www.ppmy.cn/news/1543776.html

相关文章

【Android】Java开发语言规范

Java语言规范 命名风格 **类名&#xff1a;**使用 UpperCamelCase 风格&#xff0c;必须遵从驼峰形式&#xff0c;但以下情形例外&#xff1a;DO / BO / DTO / VO / AO&#xff0c;所有单词的首字母大写**方法名、参数名、成员变量、局部变量&#xff1a;**统一使用 lowerCam…

《Keras3 深度学习初探:开启Keras3 深度学习之旅》

《Keras3 深度学习初探&#xff1a;开启Keras3 深度学习之旅》 一、Keras3 初印象二、安装与配置&#xff08;一&#xff09;安装 Keras3&#xff08;二&#xff09;配置环境 三、模型构建基础&#xff08;一&#xff09;序列模型与函数式 API&#xff08;二&#xff09;模型的…

论文题目:深度学习在自然语言处理中的应用研究

论文题目&#xff1a;深度学习在自然语言处理中的应用研究 摘要 自然语言处理&#xff08;NLP&#xff09;是人工智能和语言学领域的分支&#xff0c;它致力于使计算机能够理解、解释和生成人类语言。深度学习&#xff0c;特别是神经网络模型&#xff0c;已经在NLP领域取得了…

Linux下docker中elasticsearch与kibana的安装

他的脸红不是因为亚热带季风气候&#xff0c;而是因为那天太阳不忠&#xff0c;出卖一九九四年夏末心动。–《太平山顶》 在本篇博客中&#xff0c;我将详细介绍如何在 Linux 系统中安装并配置 Elasticsearch 和 Kibana&#xff0c;这两者是 ELK 堆栈的重要组成部分&#xff0c…

分库分表常见面试问题

分库分表常见面试问题 1、什么是分库分表1.1 分表和分区的区别 2、怎么分库分表2.1 到底分多少库&#xff0c;分多少表合适 3、分表字段选择4、分表算法5、全局ID6、分库分表会带来什么问题7、分库分表之后&#xff0c;表还不够怎么办8、为什么喜欢使用2的次幂进行分库分表9、数…

Android启动流程_SystemServer阶段

前言 上一篇文档我们描述了在 Android 启动流程中 Zygote 部分的内容&#xff0c;从 Zygote 的配置、启动、初始化等内容展开&#xff0c;描述了 Zygote 在 Android 启动中的功能逻辑。本篇文档将会继续 Android 启动流程的描述&#xff0c;从 SystemServer 进程的内容展开&am…

系统性能测试笔记-JMeter性能测试

JMeter接口性能测试 目的JMeter性能测试步骤创建线程组添加HTTP请求采样器创建用户接口登录用户接口查询用户信息接口 添加监听器运行测试分析结果 目的 使用JMeter进行前后端相关接口的性能测试&#xff0c; 监控系统的性能指标&#xff0c;如响应时间、吞吐量、错误率等&…

Proteus基本元件英文

Proteus元件大全&#xff08;Proteus Component Library&#xff09; 仿真元件&#xff08;Simulated components&#xff09; Resistor&#xff08;电阻&#xff09;Capacitor&#xff08;电容&#xff09;Inductor&#xff08;电感&#xff09;Diode&#xff08;二极管&…