SQL语句中关于日期的操作(非常的有用)
在SQL Server 里的日期数据,我们经常可以用 字段<=’2008-5-20’这样的表达式,但在oracle却不可以,因为数据类型不一样 字段是date型,’2008-5-20’是字符型,需要用to_char 或者to_number转换成相同的类型才能进行比较。
刚开始这让我觉得不习惯,觉得不好,不过时间长了,觉得也有不少便利之处,尤其是配合trunc啊,to_char之类的,下面简单写一下常用的一些对日期的操作
获取当前的系统时间:select sysdate from dual 结果:2013-10-23 19:33:07
获取当前的日期 : select trunc(sysdate) from dual 结果:2013-10-23 00:00:00
获取当年的第一天:select trunc(sysdate,'YYYY') from dual 结果:2013-1-1 00:00:00
获取当月的第一天:select TRUNC(SYSDATE,'mm') from dual 结果:2013-10-01 00:00:00
取当前时间秒部分:Select to_char(sysdate,’ss’) from dual 显示当前的秒
获取当前秒小时部分:Select to_char(sysdate,'hh24') from dual 显示当前的小时
获取当前的日期部分:Select to_char(sysdate,'dd') from dual
Select to_char(sysdate,'mm') from dual
Select to_char(sysdate,'yyyy') from dual
获取当前是本月第几周:Select to_char(sysdate,'w') from dual
获取当前时间是本年第几周:Select to_char(sysdate,'ww') from dual (从1.1开始算)
取当前时间是本年第几周:Select to_char(sysdate,'iw') from dual (按实际日历的)
取当前时间是一周的第几天,从星期天开始,周六结束 Select to_char(sysdate,’d’) from dual
取当前日是星期几,和数据库设置的字符集有关,会输出’Tuesday’:Select to_char(sysdate,'day') from dual
当前日是一年中的第几天:Select to_char(sysdate,'ddd') from dual
取一年后的今天 Select Add_months(sysdate,12) from dual
取两个日期之间的天数 Select sysdate-(sysdate-100) from dual
取两个日期之间的分钟数 Select (sysdate-(sysdate-100))*1440 from dual
取两个日期之间的秒数 Select (sysdate-(sysdate-100))*1440*60 from dual
取两个日期间隔的月份 Select months_between(sysdate,sysdate-100) from dual
取当前月的最后天 Select last_day(sysdate) from dual
取当前日之后第一个星期天,里面的’1’表示取星期日,如果今天正好是星期日,则会显示下一个星期日 Select next_day(sysdate,’1’) from dual
最新文章
- Nmap源码分析(脚本引擎)
- 辅助写作软件:PPT写作助手 帮助创作多图少字文章
- CentOS下yum安装VNCserver
- 漫游Kafka实现篇之分布式
- 火狐和google游览器的 hack独有识别 css
- JS模块与命名空间的介绍二
- 一、Hadoop基本操作命令
- Socket实现
- PGM:部分有向模型之条件随机场与链图模型
- LeetCode 871 - 最低加油次数 - [贪心+优先队列]
- MySQL中的EXPLAIN
- 20175307《Java程序设计》第8周学习总结
- Python12/25--前端之BOM/DOM
- tomcat 配置 使用 HTTPS
- 【jenkins git】Failed to connect to repository:Error performing command:git.exe ls-remote-h
- Can&#39;t debug c++ project because unable to static library start program *.lib
- Com类型
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal 解题报告
- h1042 N!大数乘int
- 知识共享图文直播---(一)将数据库中的数据加载到MSFlexGrid空间中再导入Excel