关系数据库的日期时间字段及相关函数(附官方文档)
--mysql --日期格式化 DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%i:%s') --获取时间中的日期部分 select date(now()) --字符串转日期 select str_to_date('2017-10-29', '%Y-%m-%d %H:%i:%S'); --postgresql --日期格式化 to_char(now(),'YYYY-MM-DD HH:MI:SS ') --字符串转日期,结果是date格式 select to_date('2022-10-08','yyyy-mm-dd hh24:MI:SS') --字符串转时间戳,结果是timestamp格式 to_timestamp('2022-10-08','yyyy-mm-dd hh24:MI:SS') --SQLserver --日期转换 --data_type(length)目标数据类型 --data_to_be_converted源数据 --style,需要转成的格式 CONVERT(data_type(length),data_to_be_converted,style) --convert不仅可以把日期转字符串,也可以把字符串转时间 --日期转字符串 CONVERT(varchar(10),GETDATE() ,120) --字符串转日期 select CONVERT(datetime,'2022-10-01 10:08:00',120) --Oracle to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') --1.如果左边是日期,右边是字符串,可以进行比较,则无需转换 --2.如果左边是日期,右边是字符串,不能比较,尽量把字符串转成日期来比较,这样效率比较高 --3.如果左边是字符串,右边也是字符串,则将字符串转成相同格式,再进行比较 --4.因此最重要的就是要知道左边字段的格式,特别当左边是字符串格式的时间时,一定要知道格式才能进行转换
数据类型 | 是否支持直接与'2017-10-29'比较 | |
---|---|---|
MySQL | date | √ |
MySQL | datetime | √ |
MySQL | timestamp | √ |
MySQL | varchar | str_to_date('2017-10-29', '%Y-%m-%d %H:%i:%S') |
SQLserver | datetime | √ |
SQLserver | varchar | CONVERT(varchar(10),GETDATE() - 2,120) |
Oracle | timestamp | timestamp>=to_date('2020-11-24','yyyy-mm-dd'); |
Oracle | varchar | to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')>=to_date('2020-11-24','yyyy-mm-dd'); |
postgresql | timestamp | √ |
postgresql | varchar(yyyy-MM-dd HH:mm:ss) | √ |
postgresql | varchar |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2022-01-13 C语言常用IO函数
2021-01-13 maven插件maven-war-plugin
2021-01-13 maven插件maven-source-plugin