直接比较不行吗? select * from 表 where 字段<'2006年6月3' 或 select * from 表 where cast(replace(replace(replace('2006年8月15日','年','-'),'月','-'),'日','') as datetime)<'2006-6-3'
zsforever(虎虎) ( ) 信誉:100 Blog 加为好友 2007-04-10 11:53:51 得分: 0
显示成“2006/11/1”是你数据默认日期显示方式的问题,想改变可以用convert(varchar(10),datecolumn,120)来改变declare @s varchar(16) set @s = '2006年8月15日' select convert(datetime,case when isdate(replace(replace(replace(@s,'年','-'),'月','-'),'日',''))=1 then replace(replace(replace(@s,'年','-'),'月','-'),'日','') else '' end )
select * from 表 where 字段<'2006年6月3'
或
select * from 表 where cast(replace(replace(replace('2006年8月15日','年','-'),'月','-'),'日','') as datetime)<'2006-6-3'
select convert(datetime,replace(replace(replace('2006年8月15日','年','-'),'月','-'),'日',''))
这个好.
set @s = '2006年8月15日'
select convert(datetime,case when isdate(replace(replace(replace(@s,'年','-'),'月','-'),'日',''))=1 then replace(replace(replace(@s,'年','-'),'月','-'),'日','') else '' end )