使用sql更改select语句值

时间:2014-07-23 11:57:43

标签: 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然后用今天的日期替换它?

2 个答案:

答案 0 :(得分:0)

SELECT DISTINCT 'COM001', 'John', 
case when date = '01-Jan-4501 00:00:00' then convert(date,getdate()) end

答案 1 :(得分:0)

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

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 

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