八种数据库时间函数的简单总结
2022/4/5 19:21:09
本文主要是介绍八种数据库时间函数的简单总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
八种数据库时间函数的简单总结
PG,SQLSERVER,Oracle,MySQL,达梦,神通,人大金仓,瀚高.
简单总结一下
1. PG,神通,人大金仓,瀚高 基本上一样: 都可以使用now()获取时间 age获取时间间隔(神通是天数,其他的年月数),extract获取时间数据的部分内容. 使用 + 或者是 - interval '3 days' 表示三天后或者是三天前或者是其他时间单位的时间数值. 2. Oracle数据库和达梦数据库基本上一样: 使用 select sysdate from dual 可以获取当前时间 使用 也可以使用 + 或者是 - interval '数字' 单位(单数形式) from dual 来获取 注意1: 这两类存在较大的不同是 PG系可以使用复数形式,并且需要放到hard quote 里面 Oracle 只需要将数字放到单引号. 日期类型必须单数. 注意2: oracle必须有from 达梦可以有 from dual 也可以没有. 3. SQLSERVER 数据库自称一派, 使用 select getdate()的方式获取日期. dateadd和datediff函数进行时间计算. 4. Mysql数据库比较偏向于PG数据库. 但是需要注意的是 他有 date_add 函数 还有 dayofyear dayofmonth等的函数.
1. PG数据库
获取当前时间 now() select now() ; 其他函数 # 时间戳 select current_timestamp; # 日期 select current_date; # 时间 select current_time;
1. PG数据库
# 时间计算 select now() + interval '2 years'; select now() - interval '2Y'; # 部分简写以及含义 Y Years M Months (in the date part) W Weeks D Days H Hours M Minutes (in the time part) S Seconds # 时间间隔 age select age(timestamp '2013-11-27'); # 时间截取 extract select extract(doy from now()); # 注意是 day of year 的简写 select extract(week from now()); select extract(month from now());
2. SQLSERVER数据库
# 获取当前时间 select getdate() # 时间计算 dateadd(datepart,number,date) select dateadd(year,-2,getdate()) # 时间差值计算 datediff( date-part, startdate, enddate ) # 比如计算有从出生有多少天 select datediff( day, '2013-11-27',getdate() ) # 获取部分时间内容 # datepart SELECT DATEPART(Second, getdate()) as '秒数'
3. Oracle数据库
# 注意 oracle的时间函数里面 没有括号 真TM乱啊 # 注意 Oracle 必须从虚标里面查. NND真特殊. # 获取当前时间 select sysdate from dual # 设置时间格式 select to_char(sysdate,'yyyy-mm-dd hh24:mi') from dual; # 也可以仅获取部分内容 select to_char(sysdate,'hh24') from dual; # 时间计算 # 获取七天后的日期 # 注意 这一点 oracle与PG的计算时间前后的函数是一样的. select sysdate,sysdate + interval '7' DAY from dual;
4. 达梦数据库
# 获取当前时间 SELECT sysdate() # 注意达梦为了实现oracle兼容也可以使用 oracle的语法进行处理 select sysdate from dual # 而且他还可以带括号 select sysdate() from dual # 他的可以完全模仿Oracle来处理 # 设置时间格式 select to_char(sysdate,'yyyy-mm-dd hh24:mi') from dual; # 也可以仅获取部分内容 select to_char(sysdate,'hh24') from dual; # 时间计算 # 获取七天后的日期 # 注意 这一点 oracle与PG的计算时间前后的函数是一样的. select sysdate,sysdate + interval '7' DAY from dual; # 其他的先不管了...
5. MySQL数据库
# 获取当前时间 select now(); # 还可以用如下的函数 current_timestamp(),current_timestamp,localtime(),localtime # 跟PG一样 用 now获取 # 还有另外一个函数 sysdate 但是存在区别 #sysdate() 日期时间函数跟 now() 类似,不同之处在于: #now() 在执行开始时值就得到了,sysdate() 在函数执行时动态得到值。 select now(), sleep(1), now(); select sysdate(), sleep(1), sysdate(); # 注意秒数 是不一样的. # 只获取当前日期 select curdate(); # 只获取当前时间 select curtime(); # 获取时间的部分内容 select extract(month from sysdate()) # 这个函数跟PG的是一样的.
5. MySQL数据库
# 获取时间是本周/本月/本年的天数 select dayofweek(sysdate()); select dayofmonth(sysdate()); select dayofyear(sysdate()); # MySQL 返回星期和月份名称函数:dayname(), monthname() select dayname(sysdate()) select monthname(sysdate()) # 注意西方世界 Sunday 是First day of The week. # MySQL其他的时间计算函数 date_add select date_add(sysdate(),interval -3 year) # 注意这里面没有复数形式. # 计算时间差值 select datediff('2013-11-27',sysdate()) # 这个出来是负数.
6. 神通数据库
# 怀疑神通数据库的函数和内核比较偏向于PG. # 获取当前时间 select now(); # 验证了一下果然和PG很相似基本通用. # 时间计算 select now() + interval '2 years'; select now() - interval '2Y'; # 时间间隔 age select age(timestamp '2013-11-27'); # 时间截取 extract select extract(doy from now()); # 注意是 day of year 的简写 select extract(week from now()); select extract(month from now());
7. 人大金仓数据库
#发现跟神通数据库一样 时间函数和PG也是相同的 select now(); # 验证了一下果然和PG很相似基本通用. # 时间计算 select now() + interval '2 years'; select now() - interval '2Y'; # 部分简写以及含义 # 时间间隔 age select age(timestamp '2013-11-27'); # 时间截取 extract select extract(doy from now()); # 注意是 day of year 的简写 select extract(week from now()); select extract(month from now());
8.瀚高数据库
# 与PG数据库基本一致..
这篇关于八种数据库时间函数的简单总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?