SQL编程高手进

来源:百度知道 编辑:UC知道 时间:2024/05/23 02:21:04
我SQL里有个user表,里面有几个字段endyear,endmonth,endday这3个字段分别装的是到期的年,月,日。skin字段装的是路径。我想新建一个调度作业;每天晚上0时检查user表里每个用户的到期时间,也就是endyear+endmonth+endday是否大于今天,如果是就将skin字段里的值改为default,这个语言脚本该怎么写呢???

假如endyear...那三个字段的类型是字符型的话,sql 如下:

update user set skin='default' where datediff(day,convert(smalldatetime,endyear+'-'+endmonth+'-'+endday),getdate())>=0

不知道你的endyear...是什么格式
数据类型应该是varchar吧?
你直接用endyear+right('0'+endmonth,2)+right('0'+endday,2)
和convert(char(10),getdate(),120)做比较就可以了
生成的字符串就像这样的2007-05-15字符串是从前向后比较所以是准确的