oracle和mssql相应函数的使用
一、mssql的datediff() 和 oraclede
1、datediff() : 用于计算两个日期的差值
DATEDIFF(datepart, startdate, enddate), 返回类型int。其中startdate 和 enddate 参数是合法的日期表达式。
SELECT DATEDIFF(day,'2008-06-05','2008-08-05') AS DiffDate
输出值为:61
datepart输入格式:
2、oracle的round()
-- 天: ROUND(TO_NUMBER(END_DATE - START_DATE)) -- 小时: ROUND(TO_NUMBER(END_DATE - START_DATE) * 24) -- 分钟: ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60) -- 秒: ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60) -- 毫秒: ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 60) 二
二、mssql的datepart() 和 oracle 的 to_date()
DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等
SELECT DATEPART(yyyy,OrderDate) AS OrderYear, DATEPART(mm,OrderDate) AS OrderMonth, DATEPART(dd,OrderDate) AS OrderDay, FROM Orders WHERE OrderId=1
结果是:2022 09 05
2、oracle 的 to_date() 的用法
TO_DATE(SYSDATE,'yyyy') -- 2022 TO_DATE(SYSDATE,'MM') --09 TO_DATE(SYSDATE,'dd') -- 05
三、mssql的convert() 和to_char()或者to_number()
1 、CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法: CONVERT(data_type(length),expression,style)
用法:
SELECT CONVERT(INT, 25.65); -- 25 SELECT CONVERT(VARCHAR(19),GETDATE()) -- Apr 15 2021 7:59AM SELECT CONVERT(VARCHAR(10),GETDATE(),10) -- 04-15-21 SELECT CONVERT(VARCHAR(10),GETDATE(),110) -- 04-15-2021 SELECT CONVERT(VARCHAR(11),GETDATE(),6)、 -- 15 Apr 21 SELECT CONVERT(VARCHAR(11),GETDATE(),106) -- 15 Apr 2021 SELECT CONVERT(VARCHAR(24),GETDATE(),113) -- 15 Apr 2021 08:03:37:767
2 oracle
To_char:转换成字符串类型,如:To_char(1234.5, '$9999.9'),结果:$1234.5
To_date:转换成日期类型,如:To_date('1980-01-01', 'yyyy-mm-dd'),结果:01-1月-80
To_number:转换成数值类型,如:To_number('1234.5'),结果:1234.5
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理