線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:11184
推到 Plurk!
推到 Facebook!

MS SQL 有無方法可以將字串轉為日期格式?

答題得分者是:Fishman
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-12 15:42:45 IP:211.75.xxx.xxx 未訂閱
有些SQL Statement需要比較日期,而table 中日期欄位都是以Char儲存, 所以必須把字串轉日期,希望能像Oracle 中的TO_DATE() 例如這樣 SELECT ... FROM ... WHERE TO_DATE('yyyymmdd',CheckDay) 6 < ToDay 不知MS SQL Server 有沒有可以達成此類需求的函式?
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-12 16:04:46 IP:61.221.xxx.xxx 未訂閱
您好 您可以使用DateDiff()來比較 DateDiff(day,'2004/01/10','2004/02/01')>4
------
ivankuo
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-12 16:05:07 IP:210.66.xxx.xxx 未訂閱
是否可用CAST() 例: SELECT CAST('2000-05-08 12:35:29.998' AS smalldatetime) Ian
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-12 16:06:36 IP:210.65.xxx.xxx 未訂閱
Hi,    用 Cast 或是 Convert(),不過 SQL Server 上的 Help 說 如果希望 Transact-SQL 程式碼遵守 SQL-92,請使用 CONVERT 而不要用 CAST,以利用 CONVERT 中的樣式功能。
select convert(datetime,aaa,111) from test_aaa
詳細用法建議直接參考 SQL Server 的 Help ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-15 11:48:53 IP:211.75.xxx.xxx 未訂閱
感謝各位指導 :) 目前我是採用Convert()來做,原本是擔心DateTime的 - 運算, 幸好跟我的需求相同,都是以日為單位計算,所以順利解決問題了。 再次感謝。
系統時間:2024-05-06 1:12:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!