为了账号安全,请及时绑定邮箱和手机立即绑定

环境语言变换导致存储过程执行不正常

标签:
JavaScript

数据表,其中有一个字段存储星期名称,如Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday。不知那一天,客户把环境语言改为中文了,
原本判断当天的的星期名称是否与存储的名称是否一样,结果没有一天是否判断正常的。

因为环境语言变化了,如果今天执行下面代码

SELECT DATENAME(w,GETDATE())


得到的是“星期三”,这个结果永远无法与存储的星期名称一样,导致存储过程略过判断相等的事务。

为了解决这个问题,Insus.NET得去修改这个存储过程,在获取当天DATENAME前,设置语言。这样就可以实现不会以环境语言变化,判断有所出现问题。

SET LANGUAGE us_english --设置语言
SELECT DATENAME(w,GETDATE())

 

以下内容是2011年08月25日补充:
 有网友问及,如果在非SQL中怎样处理这个问题? 使用下面这段程序,也许没有问题的,其中txtInputDate是输入转换值。

   CultureInfo oCultureInfo = new CultureInfo("en-US");
              string  wName = oCultureInfo.DateTimeFormat.DayNames[(int)DateTime.ParseExact(this.txtInputDate.Text.Trim(), "yyyy-MM-dd", null).DayOfWeek];

 

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消