SQL報錯 輸入值對日期格式不夠長

2021-09-02 02:11:48 字數 1073 閱讀 4400

3、有可能是 表的字段 有髒資料,比如 a.e_date 存在『150』髒資料,導致 sql編譯失敗,需要過濾掉髒資料。

where to_date(a.e_date,'yyyy-mm-dd') >= to_date('2015-03-01','yyyy-mm-dd')

and to_date(a.e_date,'yyyy-mm-dd') < to_date('2016-01-01','yyyy-mm-dd')

1、日期字串沒加單引號。 

select comparetime(to_date(2009-08-01,'yyyy-mm-dd'),to_date(2009-08-04,'yyyy-mm-dd'),p.begintime,p.endtime) as r from plan_vp p 

正確的 

select comparetime(to_date('2009-08-01','yyyy-mm-dd'),to_date('2009-08-04','yyyy-mm-dd'),p.begintime,p.endtime) as r from plan_vp p 

ora 01810 格式**出現兩次 

如:select to_date('2005-01-01 13:14:20','yyyy-mm-dd hh24:mm:ss') from dual; 

原因是sql中不區分大小寫,mm和mm被認為是相同的格式**,所以oracle的sql採用了mi代替分鐘。 

select to_date('2005-01-01 13:14:20','yyyy-mm-dd hh24:mi:ss') from dual; 

另要以24小時的形式顯示出來要用hh24 

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;//mi是分鐘 

select to_char(sysdate,'yyyy-mm-dd hh24:mm:ss') from dual;//mm會顯示月 

異常:hour must be between 1 and 12 

to_date('2009-08-28 16:37:02','yyyy-mm-dd hh24:mi:ss') 

請教SQL對日期格式化的寫法

參考 對於這個非標準要求,也許日後維護與擴充套件會帶來更多困難。如果一定要求這樣,insus.net的做法,只好寫乙個函式,整個專案中,需要地方,呼叫這個自定義函式即可。view code create function dbo udf getmydate date datetime returns...

對日期型別進行格式化

h 24 小時制的小時,被格式化為必要時帶前導零的兩位數,即 00 23。i 12 小時制的小時,被格式化為必要時帶前導零的兩位數,即 01 12。k 24 小時制的小時,即 0 23。l 12 小時制的小時,即 1 12。m 小時中的分鐘,被格式化為必要時帶前導零的兩位數,即 00 59。s 分鐘...

elementUI日期選擇器,對日期格式進行處理

使用elementui日期選擇器中,獲取不同格式的時間 v model ruleform.zeroing type date type datetime value format timestamp style width 240px placeholder 選擇日期 value format yy...