程序莫名出錯了,查了半天發現是用戶身份id居然和sql server數據庫裡不一致:用戶登錄軟件是用小寫輸入,數據庫裡是大寫輸入。奇怪的是居然可以通過驗證!查了gg才知道,原來sql server安裝過程中設置不同會造成sql server中對大小寫區分的影響。
解決方法大致分為兩種:
1、修改數據庫大小寫區分的設置:
create database test COLLATE Chinese_PRC_CS_AS --創建數據庫時指定區分大小寫
alter database test COLLATE Chinese_PRC_CS_AS --修改數據庫的設置使其區分大小寫
Create table test(tid int primary key,tname varchar(20) collate chines_prc_cs_as) --創建表時指定tname列區分大小寫。
如果不想區分大小寫,將Chinese_PRC_CS_AS替換為Chinese_PRC_CI_AS。
2、sql語句中暫時設置是否區分大小寫:
select * from test where tname collate Chinese_PRC_CS_AS_WS like 'a%'
根據需要自行選擇設置方法。
關鍵詞:大寫 查詢 小寫