TO_DATE使用詳解

語法:

to_data(date&time,format)

其中第一個參數date&time是我們要查詢的具體日期和時間,比如:2006年5月21日。但是這個時間也分為很多種精度的,比如:

2006年5月21日

2006年5月21日17:24

2006年5月21日17:34分55秒      

這個精度要根據實際情況來定。

 

另外一個參數format決定的日期的表示方法,比如:

2006年5月21日    可以表示為:060521、20060521、2006FEB21等等

而他們對應的format為

060521        YYMMDD

20060521      YYYYMMDD



2006FEB21     YYYYMONDD

 

示例:

select * from book where intime=to_date(' 2003/ 02/ 17/ 17/ 53/55','YYYY/MM/DD/HH24/MI/SS')

 

上面的語句是查詢:2003年8月17日下午5點53分55秒,入庫的書本。

其實用下面的寫法也是可以的


select * from book where intime=to_date(' 2003 02 17 17 5355','YYYYMMDDHH24MISS')


select * from book where intime=to_date

(' 2003- 02- 17- 17- 53-55','YYYY-MM-DD-HH24/-I-SS')

中間的連字符“/”、“:”或是“-”,並不影響表達,只是為了更加容易看清楚。

 

表示年份有以下幾種格式,及這種格式對應的表達方法:

2003年為例

YYYY        2003

YYY          003

YY            03

 

月份表示格式及表達方法:

二月分為例

MM          08

RM          IIX(羅馬數字)

MONTH       february

MON         feb

 

日期的格式及表達方法:

17號為例

DDD         76          2月的17日在本年度(不是閏年的情況)是多少天     

DD          17          在本月中是號(17號)

D           在這一個星期是哪天

 

星期的格式和表示方法:

星期一為例

DAY         monday     全名顯示 

DY          mon        縮寫

 

小時的格式和表示方法:

HH24      18    二十四小時制

 

分鐘的格式和表示方法:

MI        32    該小時32分鐘

 

秒的表示方法

SS        28    該分鐘28秒

 

 

既然知道格式和表示方法就簡單了,比如我想知道在

2005年12月15日18時21分08秒 

2006年 2月23日19時00分00秒  共入庫多少書本我們就可以用以下語句 

 

SELECT SUM(QTY) FROM BOOK WHERE INTIME BETWEEN TO_DATE('2005/12/15-18:21:08','YYYY/MM/DD-HH24:MI:SS') AND TO_DATE('2006/02/23-19:00:00','YYYY/MM/DD-HH24:MI:SS')

 

具體使用什麼樣的格式就要看我們的需要和使用習慣了,但這並不影響結果 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle中的to_date函数用于将字符转换为日期,而to_char函数用于将日期转换为字符。 在使用to_date函数时,需要注意日期格式的正确性。例如,如果使用了错误的格式代码,如将分钟的格式代码写成了mm而不是mi,会导致ORA-01810错误。正确的写法应该是使用mi代替mm,如:to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss')。 另外,如果想要以24小时制的形式显示时间,需要使用HH24而不是HH。例如,to_char(sysdate,'yyyy-mm-dd HH24:mi:ss')可以将当前日期和时间以24小时制的形式显示出来。 在查询中,可以使用to_char函数将日期字段转换为指定的格式进行比较。例如,可以使用to_char(hire_date,'yyyy')=2002来查询雇佣日期为2002年的员工,使用to_char(hire_date,'mm')>6 and to_char(hire_date,'mm')<=12来查询雇佣日期在7月到12月之间的员工。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [oracle中的to_char和to_date函数详](https://blog.csdn.net/hanmacangying/article/details/109002117)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Oracle中的to_date和to_char用法总结](https://blog.csdn.net/weixin_44961626/article/details/89856610)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值