数学函数

序号

函数功能

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. iOS—图片编辑,文字下落动画的Demo

    仿照Mac上的截图编辑功能做的一个图片编辑的Demo,功能有画矩形,圆形,箭头,手写,输入文字和分享. 做的时候看到一个大神的帖子写的一个文字动画的教程,故顺带学习做了一个类似的文字下落动画. 有兴趣 ...

  2. Tableview RefreashControl 下拉之后马上返回

    Tableview RefreashControl 下拉之后马上返回 原因很简单: 我把  [self.tableView setContentInset:UIEdgeInsetsMake(0, 0, ...

  3. CSS各种定位详解

    1.定位的专业解释 (1)语法 position:static|absolute|fixed|relative (2)说明 从上面语法可以看出,定位的方法有很多种,它们分别是静态(static),绝对 ...

  4. python自动化框架nose

    python除了unittest,还有一款更快捷的nose,nose可以说是对unittest的一种简化吧 但是他不需要unittest那种必须有固有的格式,他只需要文件,类名,方法名等含有test就 ...

  5. js - 奇怪的回调探索

    做一个手机端页面是发现的奇怪的问题,函数调用的问题(回调). 一句话描述: 某一个dom元素绑定的事件函数在全局能trigger方法调用,但是在ajax成功回调函数里不能被trigger方法调用. 具 ...

  6. Spike Notes on Lock based Concurrency Concepts

    Motivation 承并发编程笔记Outline,这篇文章专注于记录学习基于锁的并发概念的过程中出现的一些知识点,为并发高层抽象做必要的准备. 尽管存在Doug Lee开山之作Concurrent ...

  7. entity framework 数据加载三种方式的异同(延迟加载,预加载,显示加载)

    三种加载方式的区别 显示加载: 显示加载

  8. handler和Timer的用法

    final Handler handler = new Handler(){public void handleMessage(Message msg){if (msg.what == 0x123){ ...

  9. HDU 1016Prime Ring Problem

    http://acm.hdu.edu.cn/showproblem.php?pid=1016 题意:输入一个数,给出符合要求的素数环. 经典的dfs遍历. #include<iostream&g ...

  10. 关于C#操作数据库ExecuteNonQuery()的返回值问题

    ) { retValue = AccessCon.ExecuteSql(sql = "update salesData set sellingPrize='" + man.Sell ...