sqlserver漢字
Ⅰ sqlserver 漢字默認排序是什麼方式
請問怎麼更改排序規則呢
1.sp_helpsort
SELECT SERVERPROPERTY ('Collation')
查看你的排序規則.
不過你的這個應該和字元集有關.
2.更改伺服器排序規則
更改 SQL Server 2005 實例的默認排序規則的操作可能會比較復雜,包括以下步驟:
確保具有重新創建用戶資料庫及這些資料庫中的所有對象所需的全部信息或腳本。
使用工具(例如大容量復制)導出所有數據。
刪除所有用戶資料庫。
重新生成在 setup 命令的 SQLCOLLATION 屬性中指定新的排序規則的 master 資料庫。例如:
復制代碼
start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=test SQLCOLLATION=SQL_Latin1_General_CP1_CI_AI
有關重新生成 master 資料庫的詳細信息,請參閱如何重新生成 SQL Server 2005 的 Master 資料庫。
創建所有資料庫及這些資料庫中的所有對象。
導入所有數據。
注意:
可以為創建的每個新資料庫指定默認排序規則,而不更改 SQL Server 2005 實例的默認排序規則。
Ⅱ SQL Server 不允許欄位名為漢字嗎
可以,但是不可以為數字,或者數字開頭,當使用where類似資料庫保留字的時候,需要使用[where]來使用。
Ⅲ sqlserver資料庫varchar(40)能存放多少漢字
sqlserver資料庫varchar(40)能存放20個漢字。
sqlserver資料庫中,英文字元需佔用一個位元組存儲,漢字和其他非英文字元,需佔用兩個位元組存儲。向一個長度為40個字元的varchar型欄位中輸入漢字,最多可輸入20個漢字。當從這個欄位中取出數據時,數據其長度為20個漢字,40個字元。
(3)sqlserver漢字擴展閱讀:
VARCHAR(M)比CHAR更加的靈活,同樣用於表示字元數據,但是VARCHAR可以保存可變長度的字元串。其中M代表該數據類型所允許保存的字元串的最大長度,只要長度小於該最大值的字元串都可以被保存在該數據類型中。
使用VARCHAR型欄位要比CHAR型欄位方便的多。使用VARCHAR型欄位時,不需要為剪掉數據中多餘的空格而操心。它可以比CHAR型欄位佔用更少的內存和硬碟空間。當資料庫很大時,這種內存和磁碟空間的節省會變得非常重要。
參考資料來源:
網路——varchar
網路——字長
Ⅳ sqlserver漢字默認排序是什麼方式
默認排序是:Chinese_PRC_CI_AI_WS
延伸閱讀:
排序規則名稱由兩部份構成,前半部份是指本排序規則所支持的字元集。如:
Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字元集,Chinese_PRC_指針對大陸簡體字UNICODE的排序規則。
排序規則的後半部份即後綴 含義:
_BIN 二進制排序
_CI(CS) 是否區分大小寫,CI不區分,CS區分
_AI(AS) 是否區分重音,AI不區分,AS區分
_KI(KS) 是否區分假名類型,KI不區分,KS區分
_WI(WS) 是否區分寬度 WI不區分,WS區分
Ⅳ SQL server中,一個單元格最多可以輸入多少個漢字
LONGBLOB類型,不過它一般不存儲漢字,而是存進去的是二進制形式,若存漢字的話要轉化一下,可以存2的32次方個位元組就是4GB
若是漢字按照unicode碼村的話,那得最少 2的30次方各
Ⅵ SQL Server欄位名可以不可以為漢字
可以,但是不可以為數字,或者數字開頭,當使用where類似資料庫
保留字
的時候,需要使用[where]來使用。
Ⅶ 請教高手個問題,我的sqlserver能插入漢字,但是select的時候表裡顯示成號,怎麼解決呢說詳細點!謝謝
需要將頁面編碼與資料庫的編碼保持一致,假如你的中文保存在資料庫是unicode,那頁面編碼要用UTF-8來顯示
如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
如果是GB2312、GBK之類的,就要把頁面編碼改為GBK
相應的前後台請求Request、Response的編碼也要一致
Ⅷ 下面是在書上看到的用SQLSERVER方法得到所有漢字的方法,遇到點疑惑
因為兩個表才能查詢,生成你要的臨時表。
Ⅸ SQLServer資料庫無法查詢中文的問題怎麼解決
在查詢條件的時候,裡面加入N,如下所示:
select*fromtableNamewhere[欄位]likeN'%中文%'
如有疑問,及時溝通!
Ⅹ sqlserver如何判斷欄位中是否含有漢字
--/*
--unicode編碼范圍:
--漢字:[0x4e00,0x9fa5](或十進制[19968,40869])
--數字:[0x30,0x39](或十進制[48,57])
--小寫字母:[0x61,0x7a](或十進制[97,122])
--大寫字母:[0x41,0x5a](或十進制[65,90])
--根據編碼范圍來判斷
--*/
--創建
createprocp_A_VIC
as
declare@countint
declare@iint
declare@textnvarchar(50)
set@i=0
set@count=(selectCOUNT(*)fromtable)
while(@i<@count)
begin
set@i+=1
--sid代表有一定循環規律的,若是無序的可以添加一個序列(Row_Number()OVER---)。
--select*from(SELECT*,Row_Number()OVER(ORDERBY[sid])numFROMs--table)asswherenum=3
set@text=(selectafromtablewhere[sid]=@i)
ifunicode(@text)between19968And40869orunicode(@text)between97And122orunicode('a')between65And90
begin
print0
end
else
print@text
end
--執行
execp_A_VIC