sql server与oracle常用函数对比

1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001) value from dual 4.取整(截取

1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual

2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual

3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from dual

4.取整(截取)
S:select cast(-1.002 as int) value
O:select trunc(-1.002) value from dual

5.四舍五入
S:select round(1.23456,4) value 1.23460
O:select round(1.23456,4) value from dual 1.2346

6.e为底的幂
S:select Exp(1) value 2.7182818284590451
O:select Exp(1) value from dual 2.71828182

7.取e为底的对数
S:select log(2.7182818284590451) value 1
O:select ln(2.7182818284590451) value from dual; 1

8.取10为底对数
S:select log10(10) value 1
O:select log(10,10) value from dual; 1

9.取平方
S:select SQUARE(4) value 16
O:select power(4,2) value from dual 16

10.取平方根
S:select SQRT(4) value 2
O:select SQRT(4) value from dual 2

11.求任意数为底的幂
S:select power(3,4) value 81
O:select power(3,4) value from dual 81

12.取随机数
S:select rand() value
O:select sys.dbms_random.value(0,1) value from dual;

13.取符号
S:select sign(-8) value -1
O:select sign(-8) value from dual -1
———-数学函数

14.圆周率
S:SELECT PI() value 3.1415926535897931
O:不知道

15.sin,cos,tan 参数都以弧度为单位
例如:select sin(PI()/2) value 得到1(SQLServer)

16.Asin,Acos,Atan,Atan2 返回弧度

17.弧度角度互换(SQLServer,Oracle不知道)
DEGREES:弧度-〉角度
RADIANS:角度-〉弧度

———数值间比较

18. 求集合最大值
S:select max(value) value from
(select 1 value
union
select -2 value
union
select 4 value
union
select 3 value)a

O:select greatest(1,-2,4,3) value from dual

19. 求集合最小值
S:select min(value) value from
(select 1 value
union
select -2 value
union
select 4 value
union
select 3 value)a

O:select least(1,-2,4,3) value from dual

20.如何处理null值(F2中的null以10代替)
S:select F1,IsNull(F2,10) value from Tbl
O:select F1,nvl(F2,10) value from Tbl
——–数值间比较

21.求字符序号
S:select ascii(‘a’) value
O:select ascii(‘a’) value from dual

22.从序号求字符
S:select char(97) value
O:select chr(97) value from dual

23.连接
S:select ’11’+’22’+’33’ value
O:select CONCAT(’11’,’22’)||33 value from dual

23.子串位置 –返回3
S:select CHARINDEX(‘s’,’sdsq’,2) value
O:select INSTR(‘sdsq’,’s’,2) value from dual

23.模糊子串的位置 –返回2,参数去掉中间%则返回7
S:select patindex(‘%d%q%’,’sdsfasdqe’) value
O:oracle没发现,但是instr可以通过第四霾问刂瞥鱿执问?BR> select INSTR(‘sdsfasdqe’,’sd’,1,2) value from dual 返回6

24.求子串
S:select substring(‘abcd’,2,2) value
O:select substr(‘abcd’,2,2) value from dual

25.子串代替 返回aijklmnef
S:SELECT STUFF(‘abcdef’, 2, 3, ‘ijklmn’) value
O:SELECT Replace(‘abcdef’, ‘bcd’, ‘ijklmn’) value from dual

26.子串全部替换
S:没发现
O:select Translate(‘fasdbfasegas’,’fa’,’我’ ) value from dual

27.长度
S:len,datalength
O:length

28.大小写转换 lower,upper

29.单词首字母大写
S:没发现
O:select INITCAP(‘abcd dsaf df’) value from dual

30.左补空格(LPAD的第一个参数为空格则同space函数)
S:select space(10)+’abcd’ value
O:select LPAD(‘abcd’,14) value from dual

31.右补空格(RPAD的第一个参数为空格则同space函数)
S:select ‘abcd’+space(10) value
O:select RPAD(‘abcd’,14) value from dual

32.删除空格
S:ltrim,rtrim
O:ltrim,rtrim,trim

33. 重复字符串
S:select REPLICATE(‘abcd’,2) value
O:没发现

34.发音相似性比较(这两个单词返回值一样,发音相同)
S:SELECT SOUNDEX (‘Smith’), SOUNDEX (‘Smythe’)
O:SELECT SOUNDEX (‘Smith’), SOUNDEX (‘Smythe’) from dual
SQLServer中用SELECT DIFFERENCE(‘Smithers’, ‘Smythers’) 比较soundex的差
返回0-4,网站空间,4为同音,虚拟主机,1最高

————–日期函数

35.系统时间
S:select getdate() value
O:select sysdate value from dual

36.前后几日
直接与整数相加减

37.求日期
S:select convert(char(10),getdate(),20) value
O:select trunc(sysdate) value from dual
select to_char(sysdate,’yyyy-mm-dd’) value from dual

38.求时间
S:select convert(char(8),getdate(),108) value
O:select to_char(sysdate,’hh24:mm:ss’) value from dual

39.取日期时间的其他部分
S:DATEPART 和 DATENAME 函数 (第一个参数决定)
O:to_char函数 第二个参数决定
参数———————————下表需要补充
year yy, yyyy
quarter qq, q (季度)
month mm, m (m O无效)
dayofyear dy, y (O表星期)
day dd, d (d O无效)
week wk, ww (wk O无效)
weekday dw (O不清楚)
Hour hh,hh12,hh24 (hh12,hh24 S无效)
minute mi, n (n O无效)
second ss, s (s O无效)
millisecond ms (O无效)
———————————————-

40.当月最后一天
S:不知道
O:select LAST_DAY(sysdate) value from dual

41.本星期的某一天(比如星期日)
S:不知道
O:SELECT Next_day(sysdate,7) vaule FROM DUAL;

42.字符串转时间
S:可以直接转或者select cast(‘2004-09-08’as datetime) value
O:SELECT To_date(‘2004-01-05 22:09:38′,’yyyy-mm-dd hh24-mi-ss’) vaule FROM DUAL;

43.求两日期某一部分的差(比如秒)
S:select datediff(ss,getdate(),getdate()+12.3) value
O:直接用两个日期相减(比如d1-d2=12.3)
SELECT (d1-d2)*24*60*60 vaule FROM DUAL;

44.根据差值求新的日期(比如分钟)
S:select dateadd(mi,8,getdate()) value
O:SELECT sysdate+8/60/24 vaule FROM DUAL;

45.求不同时区时间
S:不知道
O:SELECT New_time(sysdate,’ydt’,’gmt’ ) vaule FROM DUAL;

—–时区参数,北京在东8区应该是Ydt——-
AST ADT 大西洋标准时间
BST BDT 白令海标准时间
CST CDT 中部标准时间
EST EDT 东部标准时间
GMT 格林尼治标准时间
HST HDT 阿拉斯加—夏威夷标准时间
MST MDT 山区标准时间
NST 纽芬兰标准时间
PST PDT 太平洋标准时间
YST YDT YUKON标准时间,美国空间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/834089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月27日 09:22:10
下一篇 2025年11月27日 09:43:31

相关推荐

  • Java中MANIFEST.MF的作用 详解清单文件

    manifest.mf是java中jar文件的元数据配置文件,位于meta-inf目录下,用于定义版本、主类、依赖路径等关键信息。1. 它允许指定入口类,使jar可直接运行;2. 通过class-path管理依赖,减少类加载冲突;3. 可配置安全权限,如设置沙箱运行;4. 常见属性包括manifes…

    2025年12月5日 java
    000
  • Java中枚举类型怎么定义 掌握Java枚举的定义和常用方法

    java中定义枚举类型使用enum关键字,例如public enum weekday { monday, tuesday,…};枚举可包含字段和方法,如添加中文名称字段及获取方法;可在switch语句中使用,确保覆盖所有值;常用方法包括values()、valueof()、ordinal…

    2025年12月4日 java
    000
  • oracle/mysql拼接值遇到的坑及双竖线||和concat怎么使用

    %ign%ignore_a_1%re_a_1% mysql 拼接值遇到的坑 双竖线 || concat || “||” 在oracle中是拼接值,但在mysql中是“或”的意思。 where name like ‘%’ || ‘Tony’ || ‘%’ 所以推荐使用concat() concat()…

    数据库 2025年12月4日
    000
  • Linux实现自动挂载autofs的方法详解

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 目录 实现自动挂载-autofs autofs工具简单使用 autofs配置详细说明 自动挂载资源有两种格式 优化Linux系统性能 安装Tuned 选择调整配置文件 检查系统推荐的调整配置文件…

    2025年12月4日
    000
  • 简易项目搭建(用于一般杂七杂八的小功能点)

    在工作中,我们常常会遇到许多需要完成的小功能点。以我自己的工作情况为例,最常见的是两个方面:1、控制台项目;2、web界面(纯前端)。 首先让我们讨论控制台项目的工作内容。在没有使用PostMan之前,工作中大量使用接口调用。在项目准备阶段,首先需要对接口的使用进行描述。在主要使用WebServic…

    2025年12月4日
    000
  • 分页功能如何实现?LIMIT与页码计算

    分页功能通过offset和limit截取数据实现。1.分页核心是计算偏移量(offset=(页码-1)每页条数)和限制数量;2.使用sql的limit子句或数据库特定语法(如sql server的offset…fetch next)执行查询;3.前端传页码和每页大小,后端计算偏移量并执行…

    2025年12月3日 后端开发
    000
  • Java中DAO模式的作用 解析DAO模式封装数据访问的价值

    dao模式通过解耦业务逻辑与数据访问,解决了数据库切换困难、sql注入风险和代码重复问题。其核心价值在于将数据访问细节封装在接口和实现类中,使业务代码仅面向接口编程,从而降低维护成本。具体步骤包括:1.定义dao接口;2.创建具体实现类;3.使用工厂模式获取实例;4.在业务逻辑中调用dao方法。技术…

    2025年12月3日 java
    000
  • Swoole如何做数据加密?加密算法如何选择?

    Swoole中数据加密依赖PHP的OpenSSL扩展,通过选择AES、RSA等算法实现;在Server或Client的接收与发送过程中进行加解密操作,结合CBC、GCM等模式保障安全与性能;密钥应通过环境变量或配置文件管理,避免硬编码;为防止中间人攻击,应启用TLS/SSL加密通信,并在WebSoc…

    2025年12月3日
    100
  • Swoole如何实现多租户?租户隔离怎么操作?

    Swoole实现多租户的核心在于协程上下文隔离,通过Coroutine::getContext()绑定租户ID、数据库连接、缓存前缀等上下文信息,在请求入口识别租户并加载配置,确保数据、缓存、文件存储、数据库连接等资源按租户隔离,避免长驻内存导致的数据泄露,结合连接池重置、缓存键前缀、独立表或库等策…

    2025年12月3日
    000
  • 2023合同管理软件排名:前10名榜单

    合同管理软件依托信息技术,结合现代企业的先进管理思想,为企业构建起一个集决策、规划、控制及经营绩效评估于一体的全方位、系统化的管理平台。企业在开展经济活动时,通常以合同为纽带,合同管理的效果直接关系到经营的成败。作为企业管理的重要组成部分,合同管理对业务流程的规范化、数据的准确性以及信息传递的安全性…

    2025年12月3日 软件教程
    000
  • 如何在PHP中配置Oracle数据库连接池的详细教程?

    在php中配置oracle数据库连接池需依赖oracle工具和配置,而非php本身。1. 安装oracle instant client并配置环境变量,安装oci8扩展并在php.ini中启用;2. 在oracle端启用drcp连接池,使用dbms_connection_pool包启动并调整参数;3…

    2025年12月3日 后端开发
    000
  • 零基础学Java课程安排建议

    it行业目前非常热门,对于大学生而言,若想在大学期间学习java但又毫无基础,以下是一份适合的课程学习流程推荐: 1、 公共基础知识:初步了解计算机网络和数据结构的基础内容,掌握基本概念即可。 2、 Java基础课程大约需要三周时间完成,建议从视频教程开始学习。学完后可以在网上找一套系统的练习题进行…

    2025年12月3日 软件教程
    000
  • Windows2003系统下MySQL安装小结

    本文承接上文在windows2003系统中配置支持php的tomcat网站内容继续进行说明。 1、 支持列表中并未列出Windows 2003版本。 2、 我下载了社区版5.7.22,但在安装过程中提示“mysqld不是有效的Win32应用程序”,令人费解。 3、 随后选择降低版本,改用5.6.40…

    2025年12月3日 软件教程
    000
  • Oracle视图应用实战

    1、 在Oracle数据库中创建视图,并通过查询语句获取视图中的数据内容。 2、 对已存在的Oracle视图进行结构或定义修改,并执行重新编译以确保其有效性。 3、 %ignore_a_1%览当前数据库中存在的视图列表,并根据需要删除指定的视图对象。 4、 执行对Oracle视图的数据查询操作,同时…

    2025年12月3日 软件教程
    000
  • sql中如何实现递归查询 递归查询的经典案例演示

    sql递归查询通过cte实现层级数据查询,核心在于锚点成员与递归成员结合,常见错误包括无限循环、性能问题、数据类型不匹配等;优化方法有索引优化、限制递归深度、使用临时表等;不同数据库如postgresql、sql server、mysql支持递归cte,oracle则使用connect by语法。 …

    2025年12月3日 数据库
    000
  • SQL变量声明怎么写 变量声明的2种语法解析

    sql变量声明主要有两种方式:使用declare关键字和mysql的@符号。1. declare用于多数数据库,如sql server和oracle,需指定数据类型及可选初始值;2. mysql用set @variablename = value形式声明会话变量,无需预定义类型。常见数据类型包括数值…

    2025年12月3日 数据库
    000
  • SQL中UPPER和LOWER函数的大小写转换 字母大小写转换的便捷方法

    upper和lower函数用于统一数据大小写格式并实现不区分大小写的查询。upper将字符串转为大写,如upper(‘hello world’)返回’hello world’;lower将字符串转为小写,如lower(‘hello worl…

    2025年12月3日 数据库
    000
  • 如何使用SQL工具进行数据库的自动化测试和验证

    sql工具在数据库自动化测试和验证中的应用非常广泛,可以有效提高工作效率和确保数据的正确性与一致性。1) 使用sql server management studio (ssms)等工具进行库存管理系统的自动化测试,确保高并发情况下库存更新和订单处理的准确性。2) 通过事务和锁机制处理并发测试,确保…

    2025年12月3日 数据库
    000
  • sql和mysql有啥区别 sql和mysql的区别是什么

    sql和mysql是不同的:sql是管理和操作关系数据库的标准语言,而mysql是遵循sql标准的具体数据库管理系统。sql的标准化使其在不同数据库环境中通用,mysql则在sql基础上添加独特功能和优化,如存储引擎和扩展语法。 在编程界,SQL和MySQL就像是孪生兄弟,但又各有千秋。让我们深入探…

    2025年12月3日 数据库
    000
  • SQL语句中如何排除某些值 用SQL排除特定值的完整方案

    SQL中排除某些值,其实就是筛选出“不是这些值”的数据。核心在于使用NOT IN、!= 或者 NOT EXISTS等操作符,具体用哪个取决于你的场景和数据结构。 解决方案 排除特定值的方法有很多,这里列举几种常见的: 使用 NOT IN: 这是最直观的方式,直接指定要排除的值列表。 SELECT *…

    2025年12月3日 数据库
    000

发表回复

登录后才能评论
关注微信