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