2012年9月11日 星期二

informix 時間 to_char

日期加時間格式

SELECT FIRST 1 
 TO_CHAR(CURRENT , '%Y/%m/%d %R:%S') 
,TO_CHAR(CURRENT , '%Y/%m/%d %I:%M:%S %p') 
FROM systables

回傳

2012/09/12 14:06:14    2012/09/12 02:06:14 下午


2012/09/27:

今天把寫好的SP拿到客戶的環境上執行
結果有個FUNCTION一直 出現 Invalid era, could not assign era date
怪怪,公司跑得好好的說.

查了半天之前用舊方法將國曆數字轉成西元日期,遇到客戶的環境沒有指定DBDATE格式,造成以下的寫法一直有問題

 DEFINE p_date date
 SELECT (((substr((in_date+19110000)::char(8),1,4))||'-'||
                    (substr((in_date+19110000)::char(8),5,2))||'-'||
                     (substr((in_date+19110000)::char(8),7,2)))::date)
  INTO p_date  FROM empty;



改成以下寫法就OK

SELECT (TO_DATE((in_date+19110000)::char(8),'%Y%m%d'))
  INTO p_date  FROM empty;



原來一直搞不懂為什麼INFORMIX中,有today 和current 二個方法

直到今天才知道, today的格式是跟隨著DBDATE的設定回傳日期及時間, current則是回傳固定格式的日期及時間 

以下是客戶環境, DBDATE沒指定,所以預設應跟著DB_LOCALE=zh_TW.big5 
todaycurrent
中華民國101年10月3日 星期三      2012-10-03 16:55:28.00

 

 以下是公司環境, DBDATE=Y4MD-
todaycurrent
2012/10/03                                        2012-10-03 16:55:28.00
  

沒有留言:

張貼留言

IIS 網站無法下載中文檔名檔案因為取消高位元字元

 網址+中文檔案名稱方式下載檔案顯示 404 - 找不到檔案或目錄。 但英數字檔案名稱則可下載。 因為設定GCB IIS,其中1項 將高位元字元預設取消勾選了。 27 TWGCB-04-014-0028 要求篩選與其他限制模組 允許高位元字元 這項原則設定決定查詢...