zoukankan      html  css  js  c++  java
  • 环境语言变换导致存储过程执行不正常

    数据表,其中有一个字段存储星期名称,如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];
  • 相关阅读:
    ApiDoc 一键生成注释
    质量报告之我见
    一些 ssh 小技巧
    virtualenv简介以及一个比较折腾的scrapy安装方法
    用scrapy数据抓取实践
    linux rootfs制作
    ubuntu环境下android开发环境安装
    弱符号 与 强符号, 强引用 与 弱引用
    链接器和加载器
    wine的使用
  • 原文地址:https://www.cnblogs.com/insus/p/2152243.html
Copyright © 2011-2022 走看看