❶ sql 中的排序规则什么意思
什么叫排序规则呢?MS是这样描述的:"在 Microsoft SQL Server 中,x0dx0a字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存x0dx0a储和比较字符所使用的规则。"x0dx0a在查询分析器内执行下面语句,可以得到SQLSERVER支持的所有排序规则。x0dx0aselect * from ::fn_helpcollations() x0dx0a排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。x0dx0a如:x0dx0aChinese_PRC_CS_AI_WS x0dx0a前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则,按拼音排序。x0dx0aChinese_PRC_Stroke 表示按汉字笔画排序;x0dx0a排序规则的后半部份即后缀 含义: x0dx0a_BIN 二进制排序 x0dx0a_CI(CS) 是否区分大小写,CI不区分,CS区分(case-insensitive/case-sensitive)x0dx0a_AI(AS) 是否区分重音,AI不区分,AS区分(accent-insensitive/accent-sensitive)x0dx0a_KI(KS) 是否区分假名类型,KI不区分,KS区分(kanatype-insensitive/kanatype-sensitive)x0dx0a_WI(WS) 是否区分宽度 WI不区分,WS区分(width-insensitive/width-sensitive)x0dx0a区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。x0dx0a区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,x0dx0a比较还将重音不同的字母视为不等。x0dx0a区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。x0dx0a区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项。
❷ SQL排序问题
sql排序的规则是,按照第一个字段的顺序正序或倒序排列,
当第一个字段是相同的,那么会按照第二个字段的正序或倒序排列
依次类推,如果后面没有排序字段,会随机排列
所以,按照第一个字段倒序,按照第二个字段正序排列,结果视觉显示全部到序,原因可能是
第一个字段并无相同的,且第一个字段和第二个排序字段数值的增减是成反比的。
❸ 如何用SQL语句修改字段的排序规则
SQL排序子句的语法是:ORDER
BY
{column_name
[ASC|DESC]}
[,…n]
大括号{}的内容表示是必有的内容(这里应该是你提问的内容)
中括号[]表示的是可选的内容
连接符|连接的是任意有一个的内容
例如:order
by
seq_id;--seq_id假设是表中的序号字段,这样是缺省按asc顺序排序
order
by
seq_id
desc;--显式指定排序的方式,desc降序排序
order
by
1;--按输出结果集的第一个字段,缺省按asc顺序排序
order
by
1,3
desc,5;--按输出结果集的第一个字段,缺省按asc顺序排序;第3个字段,显式明确按降序排序;第5个字段,缺省按asc顺序排序
❹ sql遇到排序规则不一样的问题 怎么查询
select * from databasename1.dbo.tablename t1 inner join databasename2.dbo.tablename2 t2
on t1.col1 = t2.col1
选择只要用【数据库名.dbo.表名】 即可(可能也不是dbo 看数据库的设置了)
❺ SQL语句排序的问题
你的写法是错误的,按照你的写法在对n进行降序排序时,第一个m升序排序结果会失效,等于最终只读n做了降序排序,而且你的语句本身也比较冗余。
正确的写法是:
SELECT * FROM a ORDER BY m ASC ,n DESC;
我们可以通过一些实例来具体分析order by 子句的用法:
假设有Orders 表:
注意:在以上的结果中有两个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。
❻ SQL server中如何更改排序规则
1、首先新建一个数据库,如图为test。