--select 列表中不能用比较表达式,可以变通使用case when--如:declare @int intset @int = convert(int,substring(convert(varchar(10),getdate(),120),1,4)+substring(convert(varchar(10),getdate(),120),6,2))select case when @int > 200605 then 'true' else 'false' end
--当然可以select case when convert(int,substring(convert(varchar(10),getdate(),120),1,4)+substring(convert(varchar(10),getdate(),120),6,2)) > 200605 then 'true' else 'false' end
select * from table where cast(substring(convert(char(6),getdate(),112),1,6) as int) > 200603 或者 select case when cast(substring(convert(char(6),getdate(),112),1,6) as int) > 200606 then tDate end from table
where cast(substring(convert(char(6),getdate(),112),1,6) as int) > 200603
或者
select
case when cast(substring(convert(char(6),getdate(),112),1,6) as int) > 200606
then tDate end
from table