環境語言變換導致儲存過程執行不正常

2021-09-08 21:29:05 字數 868 閱讀 8157

資料表,其中有乙個字段儲存星期名稱,如sunday,monday,tuesday,wednesday,thursday,friday,saturday。不知那一天,客戶把環境語言改為中文了,

原本判斷當天的的星期名稱是否與儲存的名稱是否一樣,結果沒有一天是否判斷正常的。

因為環境語言變化了,如果今天執行下面**

select

datename

(w,getdate

())

得到的是「星期三」,這個結果永遠無法與儲存的星期名稱一樣,導致儲存過程略過判斷相等的事務。

為了解決這個問題,insus.net得去修改這個儲存過程,在獲取當天datename前,設定語言。這樣就可以實現不會以環境語言變化,判斷有所出現問題。

setlanguage us_english 

--設定語言

select

datename

(w,getdate

())

以下內容是2023年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];

執行儲存過程

sql server 2012 其他版本 3 共 3 對本文的評價是有幫助 評價此主題 本主題介紹如何使用 sql server management studio 或 transact sql 在 sql server 2012 中執行儲存過程。有兩種不同方法執行儲存過程。第一種方法和最常見的方法...

C 執行儲存過程

1 建立儲存過程 其中返回乙個值,統計表中符合條件資料數量 create procedure sp test name varchar 10 查詢條件 count int output 返回值 asbegin select count count from test where name name ...

自動執行儲存過程

啟動時自動執行儲存過程 如何在啟動sql server的時候,執行乙個儲存過程?將儲存過程建立在master資料庫中,然後企業管理器中找到這個儲存過程 右鍵 屬性 勾選 每當sql server啟動時執行 或者在master中建立儲存過程後,執行語句設定為自動啟動 use master exec s...