使用sql更改select语句值

使用sql更改select语句值,sql,sql-server-2008,Sql,Sql Server 2008,我下面有一些SQL是通过编程生成的: INSERT INTO TABLE (COMID, NAME, DATE) SELECT DISTINCT 'COM001', 'John', '01-Jan-4501 00:00:00' 我如何修改它,以便如果它找到日期时间:01-Jan-4501 00:00:00,那么它将替换为今天的日期?您可能希望避免一些错误或不相关的值 SELECT DISTINCT 'COM001', 'John', case when date = '01-Jan-4501

我下面有一些SQL是通过编程生成的:

INSERT INTO TABLE (COMID, NAME, DATE)
SELECT DISTINCT 'COM001', 'John', '01-Jan-4501 00:00:00'

我如何修改它,以便如果它找到日期时间:
01-Jan-4501 00:00:00
,那么它将替换为今天的日期?

您可能希望避免一些错误或不相关的值

SELECT DISTINCT 'COM001', 'John', 
case when date = '01-Jan-4501 00:00:00' then convert(date,getdate()) end
SELECT 
'COM001', 
'John', 
case 
when cast('01-Jan-4501 00:00:00' as date) > cast('01-Jan-2100 00:00:00' as date)
then cast(getdate() as varchar(30))
else '01-Jan-4501 00:00:00'
end 

另一种方法是在该表上创建一个触发器,自动进行日期字段更正。

生成的日期是否始终相同?