一直以來 db2 可使用的 內建 function 真的 有些奇怪
在 版本 9.5 可以 run 的 在 9.1 有時 真的 需要保佑 ,
其中 對 TimeStamp 的 運行 會有不是一般人可理解的地方
下方funcion 是多次運用的紀錄:
COALESCE:
主要是將 NULL 轉成其他 所以 類似於oracle 的NVL 內容
發生錯誤的 SQL CODE=180
COALESCE(欄位值, '') 是不會成功的
要修正成
COALESCE( 欄位值,'1000-01-01-00.00.00.000000')
其中 第二個是需要 timestamp 格式才可以
CHAR
將值變成想要的格式 但是 跟to_char 不同
用法 如
CHAR(col, fomat)
fomat 可用的
date
ISO: ==>2005-12-31
USA: ==>12/31/2005
EUR ==>31.12.2005
JIS ==>2005-11-30
LOCAL ==> 看你的 設定
time
ISO: ==>19.42.21
USA: ==>19:42:21
EUR ==>19.42.21
JIS ==>19.42.21
LOCAL ==> 看你的 設定
timestamp
抱歉 只能用 ISO
char(current timestamp) ==> 2005-11-30-19.42.21.873002
VARCHAR_FORMAT or TO_CHAR
(9.1 to_char 會work 9.5 varchar_format 比較理想)
就是 oracle 中的 to_char 只是 比較好玩
TO_CHAR(col,fomat)
其中 fomat
有試過
'YYYY-MM-DD HH24:MI:SS'
"YYYY-MM-DD HH:MM:SS"
如
,VARCHAR_FORMAT(ts1,'YYYY-MM-DD HH24:MI:SS')
TO_DATE (string_expression_r_r,
'YYY-MM-DD HH24:MI:SS')