Oracle日期格式化以及extract函数的使用
由于业务需要,这两天在学习Oracle,发现Oracle里面的日期它会给你转成一种很不习惯的格式,于是想着怎么样把它弄成年、月、日的格式来显示,查资料、看文档,最终找到解决办法了,其实是用到了to_char方法。
例如,在Oracle里面,一个表格里日期如2017-05-06,列名为time,查询后发现返回的是06-5月 -17这种格式的,看着贼不爽,要想把它转成年月日这种格式的,可以这样做,
1 | to_char( time , 'YYYY-MM-DD' ) as time // 括号里的 time 表示表中的列名,第二个 time 则表示转换后的日期列名仍然为 time |
现在转换后的日期就是这样的,2017-05-06
那么extract函数是干什么的呢?extract英语意思是提取、选取,顾名思义,它表示从一个date类型中截取某一特定的部分,例如,选取年或月或日。
例如有这样一个表格:
现在我要从表格myTable中选取time中年份为2018年的所有数据,可以这样做,
1 | select title,play, time from myTable where extract( year from time ) = 2018;<br>或者:<br> select title,play,to_char( time , 'YYYY-MM-DD' ) as time from myTable where extract( year from time ) = 2018 |
结果显然是都返回了(这里只是做个演示)
现在我要从表格myTable中选取time中月份为5的所有数据,操作为:
1 | select title,play, time from myTable extract( month from time ) = 5;<br>或者:<br> select title,play,to_char( time , 'YYYY-MM-DD' ) as time from myTable where extract( month from time ) = 5 |
从表格myTable中选取time中日期为6的所有数据,操作为:
1 | select title,play, time from myTable extract( day from time ) = 6;<br>或者:<br>slect title,play,to_char( time , 'YYYY-MM-DD' ) as time from myTable where extract( day from time ) = 6; |
语法如下:extract(year|month|day|hour|minute|second from column_name) = value
作者:江峰★
出处:http://www.cnblogs.com/jf-67/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利
分类:
数据库(SQL、Oracle)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?