数学函数

序号

函数功能

SQL Server用法

Oracle用法

1

绝对值

select abs(-1) value

select abs(-1) value from dual

2

取整(大)

select ceiling(-1.001) value

select ceil(-1.001) value from dual

3

取整(小)

select floor(-1.001) value

select floor(-1.001) value from dual

4

取整(截取)

select cast(-1.002 as int) value

select trunc(-1.002) value from dual

5

四舍五入

select round(1.23456,4) value

select round(1.23456,4) value from dual

6

为底的幂

select Exp(1) value

select Exp(1) value from dual

7

取e为底的对数

select log(2.7182818284590451)

select ln(2.7182818284590451)

8

取10为底对数

select log10(10)

select log(10,10)

9

取平方

select SQUARE(4)

select power(4,2)

10

取平方根

select SQRT(4)

select SQRT(4)

11

求任意数为底的幂

select power(3,4)

select power(3,4)

12

取随机数

select rand()

select sys.dbms_random.value(0,1)

13

取符号

select sign(-8)

select sign(-8)

14

圆周率

SELECT PI()

15

sin,cos,tan

select sin(PI()/2)

select sin(PI()/2)

16

求集合最大值

select max(value) value from
  (select 1 value
  union
  select -2 value
  union
  select 4 value
  union
  select 3 value)a

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

17

求集合最小值

select min(value) value from
  (select 1 value
  union
  select -2 value
  union
  select 4 value
  union
  select 3 value)a

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

18

处理null值(F2中的null以10代替)

select F1,IsNull(F2,10) value from Tbl

select F1,nvl(F2,10) value from Tbl

数值间比较

序号

函数功能

SQL Server用法

Oracle用法

1

求字符序号

select ascii('a')

select ascii('a') value from dual

2

从序号求字符

select char(97) value

select chr(97) value from dual

3

连接

select '11'+'22'+'33' value

select CONCAT('11','22')||33 value from dual

4

子串位置

select charindex('s','sdsq',2) value

select instr('sdsq','s',2) value from dual

5

模糊子串的位(返回2,参数去掉中间%则返回7)

select patindex('%d%q%','sdsfasdqe') value

select INSTR('sdsfasdqe','sd',1,2) value from dual 返回6

6

求子串

select substring('abcd',2,2) value

select substr('abcd',2,2) value from dual

7

子串代替(返回aijklmnef)

SELECT STUFF('abcdef', 2, 3, 'ijklmn') value

SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual

8

子串全部替换

没发现

select Translate('fasdbfasegas','fa','我' ) value from dual

9

长度

Len或datalength

length

10

大小写转换

lower,upper

lower,upper

11

单词首字母大写

没发现

select INITCAP('abcd dsaf df') value from dual

12

左补空格

select space(10)+'abcd' value

select LPAD('abcd',14) value from dual

13

右补空格

select 'abcd'+space(10) value

select RPAD('abcd',14) value from dual

14

删除空格

ltrim,rtrim

ltrim,rtrim,trim

15

重复字符串

select REPLICATE('abcd',2) value

lpad('d',6,'0'),rpad(‘d’,6,’0’)

16

发音相似性比较(这两个单词返回值一样,发音相同)

SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe')

SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual

日期函数

序号

函数功能

SQL Server用法

Oracle用法

1

系统时间

select getdate() value

select sysdate value from dual

前后几日

直接与整数相加减

直接与整数相加减

求日期

select convert(char(10),getdate(),20) value

select trunc(sysdate) value from dual select to_char(sysdate,'yyyy-mm-dd') value from dual

求时间

select convert(char(8),getdate(),108) value

select to_char(sysdate,'hh24:mm:ss') value from dual

取日期时间的其他部分

DATEPART 和 DATENAME 函数 (第一个参数决定)

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无效)

当月最后一天

没发现

select lsat_day(sysdate) value from dual

本星期的某一天(比如星期日)

没发现

select Next_day(sysdate,7) vaule FROM DUAL;

字符串转时间

可以直接转或者select cast('2004-09-08'as datetime) value

select To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL;

求两日期某一部分的差(比如秒)

select datediff(ss,getdate(),getdate()+12.3) value

直接用两个日期相减(比如d1-d2=12.3)
  SELECT (d1-d2)*24*60*60 vaule FROM DUAL;

根据差值求新的日期(比如分钟)

select dateadd(mi,8,getdate()) value

SELECT sysdate+8/60/24 vaule FROM DUAL;

MSSQL和Oracle常用函数比对的更多相关文章

  1. Oracle常用函数

    前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...

  2. Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数

    首先在oracle中没有datediff()函数可以用以下方法在oracle中实现该函数的功能:1.利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE) ...

  3. oracle常用函数总结(二)

    之前也有写过“oracle常用函数总结(一)”,为了尽量找全常见oracle函数,笔者特意查找了相关资料来作为参考,下边给大家罗列出来,部分和之前有重复的,希望能帮到大家! 列举了31个函数和1个分组 ...

  4. oracle常用函数总结

    Oracle常用函数总结 ---oracle常用函数-----一.数值型常用函数----取整数--select floor(10.1) from dual;--将n四舍五入,保留小数点后m位(默认情况 ...

  5. oracle常用函数整理

    oracle常用函数整理    1.绝对值.取余.判断数值正负函数    绝对值:ABS(n)        示例: SELECT ABS(100),ABS(-100),ABS('100') FROM ...

  6. oracle常用函数积累

    --oracle常用函数积累-- --1.字符串长度:LENGTH ,语法: CONCAT(string) --示例 select LENGTH('AA_BB') from dual;--结果:5 - ...

  7. ORACLE常用函数的使用方法

    ORACLE常用函数的使用方法 1. 字符串函数 (1) length(); 获取字符长度SELECT LENGTH('中国') FROM PLATFORM_METAINFO_TABLES WHERE ...

  8. SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等

    SQL组成 DML数据操作语言 DCL数据控制语言 DQL数据查询语言 DDL数据定义语言 查询基础语法 记录筛选 where 子句 记录筛选 where 子句 实例练习 实例练习 Select语句中 ...

  9. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

随机推荐

  1. nfs文件系统挂载错误及解决方法

    挂载nfs时出现如下错误: 原因: 没有安装nfs客户端相关 解决方法: apt-get install nfs-common 参考资料: http://askubuntu.com/questions ...

  2. c# 常量,变量

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  3. python之变量篇

    列表:a=['a',112,'bss']元组:只读列表,不能二次赋值str=('s','t',1.5)元字典:用"{ }"标识,键值对存储dic={}dic['s']='test' ...

  4. Add and Search Word

    Trie 树的一个应用 Design a data structure that supports the following two operations: void addWord(word) b ...

  5. How to:如何让Installshield显示正确的软件所需空间--网友冰块先生贡献

    软件环境: installshield2010  工程类型:installshield project  现象:当转换目录后所需空间显示不正常. 解决办法:在转换目录地方加上一个TARGETDIR重新 ...

  6. metagenome 简介

    宏基因组 ( Metagenome)(也称微生物环境基因组 Microbial Environmental Genome, 或元基因组) .是由 Handelsman 等 1998 年提出的新名词, ...

  7. 【 D3.js 入门系列 --- 6 】 如何让图表动起来

    [5.1]节中制作了一个比较完善的图表,但它是静态的,想做出它的动态效果吗?在D3中只需要短短的几行代码即可. 这一节将涉及4个函数的使用. 1.transition() 启动转变效果只需要添加这个即 ...

  8. Swift—下标脚本(Subscripts)

    下标脚本可以定义在类(Class).结构体(Struct).枚举(enumeration)这些目标中,可以认为是访问集合,列表或序列的快捷方式,使用下标脚本的索引设置和获取值,不需要再调用实例的特定的 ...

  9. 如何换ionic里面的图标

    (转自http://www.zcool.com.cn/article/ZMTM4NDQw.html) 第一步,你把你的项目的SVG文件跟你自己做的图标的SVG文件都上到icomoon.io/app(上 ...

  10. psp记录个人项目花费时间

    预估时间 120min 设计分析时间 30min 具体设计时间 ≍40min 编码时间 ≍1h 测试时间 10min 整理结论时间 10min 总结与探讨时间 5min