SQL SERVER 与ORACLE常用函数比较(转)
来源:互联网 发布:python缺省参数 编辑:程序博客网 时间:2024/05/16 17:08
数学函数
序号
函数功能
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;
- SQL SERVER 与ORACLE常用函数比较(转)
- Oracle 与 SQL Server 函数的比较
- oracle 与 sql server语法函数比较
- SQL与ORACLE常用函数比较
- oracle与sql server常用函数对比
- SQL Server 与Oracle常用函数
- SQL SERVER 与ORACLE 常用函数对比(转)
- SQL Server和Oracle的常用函数比较
- 转 SQL server 与Oracle开发比较
- Oracle 与SQL Server 2000常用函数对照
- ORACLE 与SQL SERVER SQL语言比较
- ORACLE 与SQL SERVER SQL语言比较
- ORACLE 与SQL SERVER SQL语言比较
- 比较SQL Server与Oracle、DB2
- Oracle与SQL Server事务处理的比较
- SQL Server与Oracle、DB2的比较
- 比较SQL Server与Oracle、DB2
- Oracle与Sql Server事务处理的比较
- 深入理解DOM事件类型系列第二篇——键盘事件
- TCP三次握手和四次挥手
- 15算法课程 268. Missing Number
- 2017年网络流行语TOP20 , 没用过算我输!
- servlet的url-pattern匹配规则详细描述
- SQL SERVER 与ORACLE常用函数比较(转)
- 解决一个页面多个跑马灯显示
- 使用maven来build报错maven Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:
- tp5中多数据库操作
- C# 动态调用方法
- 以太坊源码(03):POA委员会选举机制
- Python后门
- Mac下vue环境搭建
- Excel数据导入sqlite3