2024年12月13日 星期五

for infomix,string to date,and get diff days count

 假設create_date是以yyyyMMddHHmmss的方式存放...  
呃...這樣說不好懂,假設是20241113134118 這樣的方式存放的文字
如何查出與系統目前時間差多少天?
 「我知道,問chatGPT....」
最好是問了會有用,就是因為沒用我才在這做筆記
首先,你要先把日期字串轉成日期物件
這是就要用to_date函數:
注意格式字串
 to_ Date(hn_create_date, "%Y%m%d%H%M%S")
很巧,只c#剛好相反,別想錯了

「那"差幾天"要怎麼取值?」
「人客你住巷仔內的--內行哦,這就是重點了」

如果直接用current-to_date(....)
你會得到一個「12 11:22:33.000」這樣的東西
是的就是幾天 然後幾旳幾分幾秒的東西,那東西叫interval 
偏偏這東西就是麻煩,要先轉成字串再轉其他方式使用
直接給你答案了

cast(
trim(
    (
     current-
     to_ Date(create_date, "%Y%m%d%H%M%S")
    ):: INTERVAL day (9) to days varchar (10)
   )
) as integer  .... 

(然後看你要加上什麼天數限制條件了)

參考
to_date
還有這個
interval to char

OS:不知不覺從砍人式系統來到金融圈已經一年半了.應該是回不去了