电脑设置区域不同而导致查询数据库带时间条件的错误

今天偶然发现由于电脑设置的区域不同,而导致时间格式不一致,从而拼接sql查询时出错的。

如下例:

区域选项里日期格式选择成短日期格式:yy-MM-dd。比如当前时间是2010/12/31, 那么它显示得到的时间就会是10/12/31。

如果代码里面有个sql拼接的过程

 

拼接出的结果就是select * from table where date_time = '10/12/31'; (数据库会把'10/12/31'当成'0010/12/31')从而不能得出正确的结果。

 

对于程序运行的电脑区域性不同,我发现这种写法是相当危险的。在以前,我会先把当前程序运行的区域环境设置成我们需要的环境,但今天我灵活的运用了DateTime.ToString()的重载函数,把上面的代码改成如下:

这样就能正确的得到sql:  select * from table where date_time = '2010/12/31'。

 

如果需要带小时、分之类的,也是同样的道理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值