#report_tmp中的term_date是char(10),当使用<,>时,它可以按预期工作, 这种比较方法在sybase中可靠吗?
declare @last_year_end char(10)
SELECT @last_year_end=convert(varchar,@cyear -1)+'/12'+'/31'
update #report_tmp
set remark = @note1
where term_date != '' and term_date <= @last_year_end
答案 0 :(得分:2)
我宁愿编写以下代码:
declare @cur_year datetime
SELECT @cur_year = convert(datetime, convert(varchar, @cyear) + '/01'+'/01', 111)
update #report_tmp set remark = @note1
where term_date != '' and term_date < @cur_year
在这里,当您将varchar隐式转换为date或datetime时,您无需依赖当前的语言环境设置。