序号
|
函数功能
|
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;
|
相关推荐
SQLServer和Oracle常用函数对比SQLServer和Oracle常用函数对比
SQLServer和Oracle常用函数对比.txtSQLServer和Oracle常用函数对比.txtSQLServer和Oracle常用函数对比.txtSQLServer和Oracle常用函数对比.txt
SQL SEVER与ORACLE常用函数比较
本文档详细介绍了SQL Server和Oracle常用函数区别,其中S与O分别为SQL Server与Oracle的缩写。对于初学者很有用,经典。
sqlserver常用函数 SQLServer和Oracle常用函数对比和常用函数的帮助说.
主要为sql server和oracle中常用函数的比较
SQLServer和Oracle的常用函数对比
SQLServer和Oracle是大家经常用到的数据库,在此感谢作者总结出这些常用函数以供大家参考。
SQL Server和Oracle常用函数对比
sqlserver实现Oracle中Lpad和Rpad函数
ORACLE常用函数总结,与SQL SERVER对比,防止混淆,更容易记忆。