首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

什么形式比较日期是否相等比较可靠

2013-06-19 
什么方式比较日期是否相等比较可靠select * from tt where rq@rq数据库中rq是date格式,格式为yyyy-MM-dd

什么方式比较日期是否相等比较可靠
select * from tt where rq=@rq

数据库中rq是date格式,格式为yyyy-MM-dd
传递的参数格式有可能为yyyy/M/d、yyyy-M-d等格式,
getCmd.Parameters.Add("@rq", SqlDbType.Date).Value = rq;

我执行的时候发现传入同样的日期,有的能读出来,有的读不出来;
用什么方式能适应各种情况?
[解决办法]

select * from tt where rq=convert(char(8),@rq,120)

[解决办法]
 set @rq = convert(nvarchar(10),@rq,23)---在sql语句前面加一句 。不管你传什么参数,执行sql的时候都转成统一的参数格式。
select * from tt where rq=@rq
[解决办法]
确保对比的数据数据类型是一致的,然后尽量不要转换数据类型,特别是日期型转成字符型,精度不准确。

热点排行