0
我對我們的應用程序中的錯誤,並指出,如果有一個日期格式是這樣的:則IsDate在TSQL問題
SELECT IsDate('4:27:01') -- ok
SELECT IsDate('25:01') ---> not ok
SELECT IsDate('23:01') ---> ok
在我們的數據,有時格式只有5個字符,這意味着它只是幾分鐘和秒。
處理此問題的最佳方法是什麼?
我對我們的應用程序中的錯誤,並指出,如果有一個日期格式是這樣的:則IsDate在TSQL問題
SELECT IsDate('4:27:01') -- ok
SELECT IsDate('25:01') ---> not ok
SELECT IsDate('23:01') ---> ok
在我們的數據,有時格式只有5個字符,這意味着它只是幾分鐘和秒。
處理此問題的最佳方法是什麼?
最簡單的方法可能是當長度爲5個字符時添加「00:」。
例如:
declare @str varchar(100)
set @str = '25:01'
-- if length is 5, interpret as 00:mi:ss
set @str = (CASE WHEN LEN(@str)=5 THEN '00:' + @str ELSE @str END)
select ISDATE(@str) -- shows 1
select cast(@str as time) -- shows 00:25:01.000
對不起,我不明白你到底在問什麼? – 2010-07-16 00:31:56
您目前在11分15秒和上午11點15分之間如何區分「11:15」? – 2010-07-16 00:41:33