資料表,其中有乙個字段儲存星期名稱,如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...