Sql server 数字时间值问题

Sql server 数字时间值问题,sql-server,Sql Server,表1 时间列数据类型为varchar 我想检查时间列值是否为数字,然后选择“当前” 试问 Time 10:00:00 12:00:00 Absent 14:00:00 Holiday ..., 在“then”中显示错误 如何根据我的要求修改我的查询 需要查询帮助请尝试使用 如果表达式有效,则返回1 日期、时间或日期时间值; 否则,0 差不多 Select case when isnumeric(time) then 'Present' else time end as time from t

表1

时间列数据类型为varchar

我想检查时间列值是否为数字,然后选择“当前”

试问

Time

10:00:00
12:00:00
Absent
14:00:00
Holiday
...,
在“then”中显示错误

如何根据我的要求修改我的查询

需要查询帮助

请尝试使用

如果表达式有效,则返回1 日期、时间或日期时间值; 否则,0

差不多

Select case when isnumeric(time) then 'Present' else time end as time from table1
DECLARE @Table TABLE(
    [Time] VARCHAR(50)
)

INSERT INTO @Table SELECT '10:00:00' 
INSERT INTO @Table SELECT '12:00:00' 
INSERT INTO @Table SELECT 'Absent' 
INSERT INTO @Table SELECT '14:00:00' 
INSERT INTO @Table SELECT 'Holiday'

SELECT  *,
        ISDATE(Time),
        case when ISDATE(time) != 0 then 'Present' else time end
FROM    @Table