當前位置:首頁 » 編程語言 » sql排序漢字

sql排序漢字

發布時間: 2022-05-20 21:59:24

Ⅰ 也是sql漢字排序的問題

按日期排:
select * from table_name order by 日期

按等級排:
select * from table_name order by 等級

按地區排:
select * from table_name order by
case when 地區='長春' then 0
when 地區='長春' then 1
when 地區='吉林' then 2
when 地區='四平' then 3
when 地區='遼源' then 4
when 地區='通話' then 5
when 地區='白山' then 6
when 地區='松原' then 7
when 地區='白城' then 8
when 地區='延邊' then 9 end

按照你給的順序綜合排:
select * from table_name order by 日期,case when 地區='長春' then 0
when 地區='長春' then 1
when 地區='吉林' then 2
when 地區='四平' then 3
when 地區='遼源' then 4
when 地區='通話' then 5
when 地區='白山' then 6
when 地區='松原' then 7
when 地區='白城' then 8
when 地區='延邊' then 9 end,等級

----補充----
反了的話你就加個desc就行了

select * from table_name order by 日期 desc

select * from table_name order by 日期 desc,case when 地區='長春' then 0
when 地區='長春' then 1
when 地區='吉林' then 2
when 地區='四平' then 3
when 地區='遼源' then 4
when 地區='通話' then 5
when 地區='白山' then 6
when 地區='松原' then 7
when 地區='白城' then 8
when 地區='延邊' then 9 end,等級

Ⅱ SQL排序按 名稱排序字母漢字混排

--首先准備一個拼音表
CREATE TABLE AWord(
PY varchar(10),
ZW nvarchar(10)
) ON [PRIMARY]
GO
--插入數據
insert into aword
select 'A',N'驁'
union all select 'B',N'簿'
union all select 'C',N'錯'
union all select 'D',N'鵽'
union all select 'E',N'樲'
union all select 'F',N'鰒'
union all select 'G',N'腂'
union all select 'H',N'夻'
union all select 'J',N'攈'
union all select 'K',N'穒'
union all select 'L',N'鱳'
union all select 'M',N'旀'
union all select 'N',N'桛'
union all select 'O',N'漚'
union all select 'P',N'曝'
union all select 'Q',N'囕'
union all select 'R',N'鶸'
union all select 'S',N'蜶'
union all select 'T',N'籜'
union all select 'W',N'鶩'
union all select 'X',N'鑂'
union all select 'Y',N'韻'
union all select 'Z',N'咗'
GO
--建立一個獲取拼音首字母的函數
create function f_GetPY
(
@str nvarchar(2)
)
returns nvarchar(2)
as
begin
set @str = left(@str, 1)
return (
case when unicode(@str) between 19968 and 19968+20901 then(
select top 1 PY+'.' from aword where zw>=@str
collate Chinese_PRC_CS_AS_KS_WS order by PY ASC
) else @str end
)
end
GO
--然後查詢排序
select * from 表 order by dbo.f_GetPY(欄位)

Ⅲ sql語句問題:像這樣的字元串欄位里含有數字還有漢字的如何使他們按照數字順序排列

把數據做一次清理。
提取數據里你需要進行排序的數據放在一個新欄位里
查詢時按提取的欄位進行排序即可。
注意數據類型哈
祝好運,望採納。

Ⅳ sql怎麼order by 漢字,比如名字從z-a這么排

SQL的Order By子句是按漢子拼音順序+漢子的四聲調排序的。例如:
「達」、「大」、「帶」是由小到大的的順序。

Ⅳ sql中怎樣按拼音排序

這個有點難,不過漢字編碼本來就是部分的按拼音排序的,比如「啊」的內碼比「這」小,所以你直接排序漢字,得到的結果也是大致按照拼音排序。

GB2312編碼分兩級漢字,一級漢字是常用字,內碼比二級漢字小,但是在一級漢字內部,內碼是按照拼音排序的,

Ⅵ 怎樣用Order By這個SQL語句子句給中文排序

這個最簡單實用的方法用convert函數,像這樣就行select * from stu order by convert(sname USING gbk)

Ⅶ 很麻煩的SQL漢字時間排序,高手請進

select * from tablename order by dbo.ctimetomin(vtime)
=====>執行前要建立如下函數

create FUNCTION ctimetomin
(@timestr varchar(200))
RETURNS varchar(100)
AS
BEGIN
set @timestr=replace(@timestr,'天','*24*60+')
set @timestr=replace(@timestr,'小時','*60+')
set @timestr=replace(@timestr,'分鍾','')
declare @m int,@sqlstr nvarchar(1000)
set @sqlstr=N'set @m='+@timestr
SP_EXECUTE @SQLSTR,@m
RETURN (@m)

END

GO

Ⅷ SQl 中的排序規則什麼意思

什麼叫排序規則呢?MS是這樣描述的:"在 Microsoft SQL Server 中,
字元串的物理存儲由排序規則控制。排序規則指定表示每個字元的位模式以及存
儲和比較字元所使用的規則。"
在查詢分析器內執行下面語句,可以得到SQLSERVER支持的所有排序規則。
select * from ::fn_helpcollations()
排序規則名稱由兩部份構成,前半部份是指本排序規則所支持的字元集。
如:
Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字元集,Chinese_PRC_指針對大陸簡體字UNICODE的排序規則,按拼音排序。
Chinese_PRC_Stroke 表示按漢字筆畫排序;
排序規則的後半部份即後綴 含義:
_BIN 二進制排序
_CI(CS) 是否區分大小寫,CI不區分,CS區分(case-insensitive/case-sensitive)
_AI(AS) 是否區分重音,AI不區分,AS區分(accent-insensitive/accent-sensitive)
_KI(KS) 是否區分假名類型,KI不區分,KS區分(kanatype-insensitive/kanatype-sensitive)
_WI(WS) 是否區分寬度 WI不區分,WS區分(width-insensitive/width-sensitive)
區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。
區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,
比較還將重音不同的字母視為不等。
區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。
區分寬度:如果想讓比較將半形字元和全形字元視為不等,請選擇該選項。

Ⅸ 請教!請問在SQL中 漢字字元是如何排序的

對於 SQL Server

-- 按照拼音來排序
1> SELECT
2> *
3> FROM
4> Tab
5> ORDER BY
6> val COLLATE Chinese_PRC_CS_AS_KS_WS
7> go
id val
----------- ----------
2 二
3 三
4 四
5 五
1 一

(5 行受影響)

-- 按照筆畫數的多少來排序
1> SELECT
2> *
3> FROM
4> Tab
5> ORDER BY
6> val COLLATE Chinese_PRC_Stroke_CS_AS_KS_WS
7> go
id val
----------- ----------
1 一
2 二
3 三
5 五
4 四
(5 行受影響)

Ⅹ 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

熱點內容
如何在家部署一台伺服器 發布:2025-02-14 06:22:04 瀏覽:433
u盤里文件夾是空的 發布:2025-02-14 06:13:22 瀏覽:803
安卓如何縮放圖片尺寸 發布:2025-02-14 06:06:34 瀏覽:116
六年級簡便演算法題 發布:2025-02-14 05:53:02 瀏覽:8
腳本精靈要root嗎 發布:2025-02-14 05:51:30 瀏覽:212
安卓手機如何錄屏怎麼去掉觸摸顯示 發布:2025-02-14 05:36:23 瀏覽:996
安卓系統新品推薦怎麼關 發布:2025-02-14 05:35:44 瀏覽:888
虛擬存儲器的基礎是 發布:2025-02-14 05:32:24 瀏覽:516
androidstudio出錯 發布:2025-02-14 05:32:14 瀏覽:305
面容id存儲多張臉 發布:2025-02-14 05:31:30 瀏覽:656