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
  

沒有留言:

張貼留言

publish error allowDefinition='MachineToApplication'

一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...