按中文首个拼音字母排序的sql语句如何写??
如果数据表tbl的某字段name的字符编码是latin1_swedish_ci;
select * from `tbl` order by birary(name) asc
如果数据表tbl的某字段name的字符编码是utf8_general_ci;
SELECT name FROM `tbl` WHERE 1
ORDER BY CONVERT( name USING gbk ) COLLATE gbk_chinese_ci ASC
---------------------------------
--------------------------------
以上内容是我在网上找来的,可是我在查询分析器里运行时分别报错,请问怎么弄啊,我就是想将某字段内容按首字拼音排序
'birary' 不是可以识别的 内置函数名称
------------------------
消息 102,级别 15,状态 1,过程 read_listpinpa,第 8 行
'USING' 附近有语法错误。
------解决方案--------------------没有这个函数。你确定你这个是MSSQL语法?应该不是
------解决方案--------------------birary不是系统内置函数,USING是mysql的语法吧
------解决方案--------------------
SQL code
-- 将某字段内容按首字拼音排序
create table #t(id int,name varchar(20))
insert #t select 1,'中'
union all select 2,'国'
union all select 3,'人'
union all select 4,'阿'
select * from #t order by name collate Chinese_PRC_CS_AS_KS_WS
id name
----------- --------------------
4 阿
2 国
3 人
1 中
(4 row(s) affected)