IsDate в выпуске TSQL - PullRequest
       1

IsDate в выпуске TSQL

0 голосов
/ 16 июля 2010

У меня есть ошибка в нашем приложении, и она указывает, что если есть формат даты, подобный этому:

SELECT IsDate('4:27:01') -- ok
SELECT IsDate('25:01') ---> not ok
SELECT IsDate('23:01') ---> ok

В наших данных, иногда формат только 5 символов, что означает, что это только на минуты и секунды..

Какой лучший способ справиться с этим?

1 Ответ

2 голосов
/ 16 июля 2010

Самый простой способ - добавить "00:", если длина составляет 5 символов.
Например:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...