oracle 与sql server 部分内置函数替换
Posted 名扬博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 与sql server 部分内置函数替换相关的知识,希望对你有一定的参考价值。
1,trunc--convert
oracle: select trunc(sysdate) from dual 输出:2016/5/24
sql server:select CONVERT(varchar(100), GETDATE(), 111) 输出:2016/05/24
2,to_char--datename
oracle:select to_char(sysdate,\'day\') from dual; 输出星期二
sql server:Select datename(weekday, getdate());输出星期二
3 ROWNUM--SQL server行号
oracle:select ROWNUM from dual
sql server:select row_number()over(order by userid )as ROWNUM,*from Table
4 trunc--Convert--ROUND
oracle:select trunc(123.4586743,5) from dual 输出:123.45867
sql server:select Convert(decimal(18,5),123.4586743) 输出123.45867
sql server:select ROUND(123.4586743,5)输出123.4586700
5 select 值若空则为null/或0
isnull
(列名,0)
coalesce
(列名,0)
6 取三十天的时间
oracle:
SELECT (TRUNC(sysdate - 30) + (ROWNUM - 1)) as rq
FROM dual
CONNECT BY ROWNUM <= TRUNC(sysdate) - TRUNC(sysdate-30) + 1;
sql server:
select CONVERT(varchar(100), dateadd(dd,number,getdate()-30), 111) AS date
from master..spt_values
where type=\'p\' and dateadd(dd,number,getdate()-30)<=getdate()
输出
以上是关于oracle 与sql server 部分内置函数替换的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 和 Oracle 以及 MySQL 都有哪些区别