打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Oracle中的内置函数在sql中的转换整理
Oracle中的内置函数在sql中的转换整理

程序里面经常会即支持Oracle数据库,又支持sql数据库。而有些Oracle内置函数用的比较多,但在sql中语法有些不同,我做了些整理,希望可以帮助大家。。。。

 

1.oracle中的内置函数:
oracle 中的round函数(四舍五入)(sql也可以用)
oracle 中的trunc返回的是当天日期的[00:00:00]
oracle 中的floor,floor(n)取小于等于数值n的最大整数(sql也可以用)
oracle 中的length函数 sqlserver中是len
oracle 中的datalength函数 sqlserver中是datalength
oracle 中的lob_to_char函数 改为convert(char,opertime,120)
oracle 中的to_char函数 改为convert(char,opertime,120)
oracle 中的substr函数 改为substring
例如:select convert(char, getdate(), 120) --yyyy-mm-dd hh:mm:ss(24h)
convert(char,SubmitTime,120)= convert(char,getdate(),120)
oracle 中floor(sysdate - trunc(opertime)改为 datediff(dd,convert(varchar(100),InputDate,111),convert(varchar(100),getdate(),111))
oracle 中的dbms_lob.getlength改为datalength(sqlserver数据库中把Clob类型改为NText类型)
oracle 中的 ROWNUM改为row_number() OVER(ORDER BY xx)并且sql语句中必须带有top
例如:sql中的写法:
SELECT * FROM (
SELECT A.*, row_number() OVER(ORDER BY A.MATTERID ) as RN FROM (
SELECT * FROM ATTACHMENT_T ) A
)T WHERE RN <= 20 AND RN >=0

 

       2.Oacle系统表 dual
      证对sqlserver直接去掉dual
     如: Sql Server中取系统函数值或者一个默认已知值,不需要后边加from,也就不需要类似dual的表了。
            直接select getdate(),1,abs(-1).....   就可以

3.遇到的错误以及解决方法:
SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间
修改model里面的构造函数,给属性赋值为DateTime类型
ElementContent_Model,OperLog_Model

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
SQL Server与oracle两者区别之函数区别
sql语句中日期时间格式化查询
09 SQL函数的使用
5.5.1 Oracle和SQL Server的常用函数对比 - 51CTO.COM
Oracle SQL 内置函数大全(2)
SQL Server生成订单号
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服