1)date 函式正確使用的話
select date('2010-05-19') from sysibm.sysdummy1;或者使用 values date('2010-05-19')
結果:*****=
2010-05-19
這個是預期得到想要得到的結果
2)如果在date 函式中忘掉單引號的話,結果就會出錯
select date(2010-05-19) from sysibm.sysdummy1;或者使用 values date(2010-05-19)
結果:*****=
0006-06-09
顯然這不是預期想要的結果。
為什麼會產生這麼大的差距呢?
原因是因為當 date 函式得到了乙個字串作為輸入引數的時候,它會假定這是乙個有效的 db2 日期的表示,並對其進行適當地轉。
反之相反,當輸入引數是數字型別時,函式會假定該引數值減 1 等於距離公元第一天(0001-01-01)的天數
2010-5-19-1=1985 單位是天 然後計算距離公元第一天(0001-01-01)之後1985天是那一年 ,所以得出的結果是0006-06-09。
所以我前面有篇文章「mybatis中#和$」中有個例子,如果不加單引號會得到錯誤結果,如下所示!!!
DB2 DATE 函式的使用乙個陷阱
db2 date 函式的使用乙個陷阱 1 date 函式正確使用的話 select date 2010 05 19 from sysibm.sysdummy1 或者使用 values date 2010 05 19 結果 2010 05 19 這個是預期得到想要得到的結果 2 如果在date 函式中...
DB2 中很有幫助的乙個函式 replace
values char replace abcd a opmn 返回的結果就是opmnbcd update act set actdesc replace actdesc,d w where actno 70 這個函式的運用關鍵之處是區分大小寫,字串之間不能有任何的空格 否則是不能替換的。切忌 db...
DB2中建立乙個返回結果集的函式
建立函式 create function f test returns table din code varchar 150 din name varchar 150 din pcode varchar 150 din code1 varchar 150 din name1 varchar 150 ...