熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracle帶時分秒日期的比較

2013-11-13 16:14:51  來源: Oracle 

  oracle 中不帶時分秒的字符串 to_date 轉換時間後與帶時分秒的date型字段做帶等值的比較 (>=<==)時由於字符串不帶時分秒所以轉換後時分秒默認為::oracle中比較date是以一個時間點來比較的精確到秒甚至毫秒微秒納秒所以date字段的時分秒不為::的就與不帶時分秒字符串轉換後的date匹配不上示例

  表中huhai_seq_value所有數據

  MYDATE

  

  

  

  

  

  

  

  sql

  select hsvmydate from huhai_seq_value  hsv

  where  hsvmydate = to_date(yyyymmdd );

  sql查詢結果

  MYDATE

  

  

  

  sql

  select hsvmydate from huhai_seq_value  hsv

  where to_char(hsvmydateyyyymmdd) = ;

  sql查詢結果

  MYDATE

  

  

  

  

  結論所以在做不帶時分秒的日期比較時最好用to_char函數轉換後與字符串比較

  用between比較兩個時間

  例

  select * from tbl_name where issue_time between to_date( ::YYYYMMDD HH:MI:SS) and sysdate;


From:http://tw.wingwit.com/Article/program/Oracle/201311/18019.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.