当前位置:首页 » 编程语言 » sqlserver中文排序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver中文排序

发布时间: 2023-04-19 00:38:55

‘壹’ sqlserver怎样让一列数据根据中文、英文、数字的顺序进行排序

select * from table order by column asc 按顺序排列
select * from table order by column desc 按倒盯巧困序凯念排宽搜列

‘贰’ 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区分

‘叁’ sqlserver中有没有办法对汉字的字段排序

--汉字首字母查询处理用户定义函数
CREATE FUNCTION f_GetPY(@str nvarchar(4000))
RETURNS nvarchar(4000)
AS
BEGIN
DECLARE @py TABLE(
ch char(1),
hz1 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS,
hz2 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS)
INSERT @py SELECT 'A',N'吖',N'鏊'
UNION ALL SELECT 'B',N'八',N'簿'
UNION ALL SELECT 'C',N'嚓',N'错'
UNION ALL SELECT 'D',N'哒',N'跺'
UNION ALL SELECT 'E',N'屙',N'贰'
UNION ALL SELECT 'F',N'发',N'馥'
UNION ALL SELECT 'G',N'旮',N'过'
UNION ALL SELECT 'H',N'铪',N'蠖'
UNION ALL SELECT 'J',N'丌',N'竣'
UNION ALL SELECT 'K',N'咔',N'廓'
UNION ALL SELECT 'L',N'垃',N'雒'
UNION ALL SELECT 'M',N'妈',N'穆'
UNION ALL SELECT 'N',N'拿',N'糯'
UNION ALL SELECT 'O',N'噢',N'沤'
UNION ALL SELECT 'P',N'趴',N'曝'
UNION ALL SELECT 'Q',N'七',N'群'
UNION ALL SELECT 'R',N'蚺',N'箬'
UNION ALL SELECT 'S',N'仨',N'锁'
UNION ALL SELECT 'T',N'他',N'箨'
UNION ALL SELECT 'W',N'哇',N'鋈'
UNION ALL SELECT 'X',N'夕',N'蕈'
UNION ALL SELECT 'Y',N'丫',N'蕴'
UNION ALL SELECT 'Z',N'匝',N'做'
DECLARE @i int
SET @i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
WHILE @i>0
SELECT @str=REPLACE(@str,SUBSTRING(@str,@i,1),ch)
,@i=PATINDEX('%[吖-做]%' COLLATE Chinese_PRC_CS_AS_KS_WS,@str)
FROM @py
WHERE SUBSTRING(@str,@i,1) BETWEEN hz1 AND hz2
RETURN(@str)
END
GO

‘肆’ 怎样知道SQLServer的排序规则

语句:
select
SERVERPROPERTY('Collation')
--查看默认排序规则
select
SERVERPROPERTY('SqlCharSetName')--查看排序使用字符集名称
至于sqlserver的字符集个人认为就是windows的字符集。
排序规则还可以通过SSMS中右键查看数据库属性里的‘维护'。

‘伍’ sqlserver排序

排序可以是升序的
(ASC),也可以是降序的
(DESC)。如果未指定是升序还是降序,就假定为
ASC。
下面的查询返回按
ProctID
升序排序的结果:
代码如下
复制代码
USE
AdventureWorks2008R2;
GO
SELECT
ProctID,
ProctLine,
ProctModelID
FROM
Proction.Proct
ORDER
BY
ProctID;
如果
ORDER
BY
子句中指定了多个列,则排序是嵌套的。下面的语句先按产品子类别降序排序
Proction.Proct
表中的行,然后在每个产品子类别中按
ListPrice
升序排序这些行。
代码如下
复制代码
USE
AdventureWorks2008R2;
GO
SELECT
ProctID,
ProctSubcategoryID,
ListPrice
FROM
Proction.Proct
ORDER
BY
ProctSubcategoryID
DESC,
ListPrice;
问题
同一...排序可以是升序的
(ASC),也可以是降序的
(DESC)。如果未指定是升序还是降序,就假定为
ASC。
下面的查询返回按
ProctID
升序排序的结果:
代码如下
复制代码
USE
AdventureWorks2008R2;
GO
SELECT
ProctID,
ProctLine,
ProctModelID
FROM
Proction.Proct
ORDER
BY
ProctID;
如果
ORDER
BY
子句中指定了多个列,则排序是嵌套的。下面的语句先按产品子类别降序排序
Proction.Proct
表中的行,然后在每个产品子类别中按
ListPrice
升序排序这些行。
代码如下
复制代码
USE
AdventureWorks2008R2;
GO
SELECT
ProctID,
ProctSubcategoryID,
ListPrice
FROM
Proction.Proct
ORDER
BY
ProctSubcategoryID
DESC,
ListPrice;
问题
同一个查询的结果集为什麽有时候是按他想要的顺序排列,有时候又不是,或者是在SQL2000里是这个顺序,到了SQL2005/2008又是那个顺序?
其实,只要语句里没有指定“order
by”,SQLSERVER并不会按照顺序返回的。有可能你的表里有一个字段已经建立了索引
你想结果集按照那个建立了索引的字段排序,那么你不指定“order
by”是没有问题的,因为表的存储顺序就是按照那个字段
的顺序排好序了,所以可以不指定“order
by”,但是如果你没有在想排序的那个字段建立索引,或者在SQL2000里建立了
索引,而在SQL2005/2008里没有建立索引,那么就要明确地用“order
by”指定。如果你没有指定,哪怕一模一样的查询,
结果集顺序这一次和上一次不一样是很正常的。

‘陆’ 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 实例的默认排序规则。

‘柒’ sqlserver 排序规则的问题

alter table [表名] alter column [列名] [类型] COLLATE Chinese_PRC_CI_AS

[类型] 最好选用 nvarchar,nchar

存储数据时如果出现乱码,可能情况如下:
1.提交到数据库的字符是乱码
2. 数据库排序规则不支持该字符集
3.数据库表字段的类型设计不合适,最好选用nvarchar,nchar
4.插入字符串时强制存储格式 insert into [表名] ([字段1]) values(N'字符串'),最好在字符串前指定 N