DB2 改變日期格式
在日期的表示方面,這也是我經常碰到的一個問題。用於日期的缺省格式由數據庫的地區代碼決定,該代碼在數據庫創建的時候被指定。例如,我在創建數據庫時使用 territory=US 來定義地區代碼,則日期的格式就會像下面的樣子:
values current date www.2cto.com
1
----------
1 record(s) selected.
也就是說,日期的格式是 MM/DD/YYYY. 如果想要改變這種格式,你可以通過綁定特定的 DB2 工具包來實現. 其他被支持的日期格式包括:
DEF 使用與地區代碼相匹配的日期和時間格式。
EUR 使用歐洲日期和時間的 IBM 標准格式。
ISO 使用國際標准組織(ISO)制訂的日期和時間格式。
JIS 使用日本工業標准的日期和時間格式。
LOC 使用與數據庫地區代碼相匹配的本地日期和時間格式。
USA 使用美國日期和時間的 IBM 標准格式。
在 Windows 環境下,要將缺省的日期和時間格式轉化成 ISO 格式(YYYY-MM-DD),執行下列操作:
1. 在命令行中,改變當前目錄為 sqllib\bnd 。
例如:
在 Windows 環境: c:\program files\IBM\sqllib\bnd
在 UNIX 環境: /home/db2inst1/sqllib/bnd
2. 從操作系統的命令行界面中用具有 SYSADM 權限的用戶連接到數據庫:
db2 connect to DBNAME www.2cto.com
db2 bind @db2ubind.lst datetime ISO blocking all grant public
(在你的實際環境中, 用你的數據庫名稱和想使用的日期格式分別來替換 DBNAME and ISO。)
現在,你可以看到你的數據庫已經使用 ISO 作為日期格式了:
values current date
1
----------
1 record(s) selected.
在 Windows 環境下,要將缺省的日期和時間格式轉化成 ISO 格式(YYYY-MM-DD),
date(char(date("2008/12/12 19:22:38"),iso))
db2 select char(current date,DEF) from org
db2 select char(current date,EUR) from org
db2 select char(current date,ISO) from org
db2 select char(current date,JIS) from org
db2 select char(current date,LOC) from org
db2 select char(current date,USA) from org
作者 ITPUByuanqingyu0123