對同段中即有數字又有字母的情況進行排序(求SQL語句)

2021-05-14 02:38:58 字數 3178 閱讀 4403

1樓:匿名使用者

--建表

baicreate table #

(t nvarchar(20)

)--插入數du據zhi

insert into #(t)

select '1'

union all select '2'

union all select '2a'

union all select '10'

union all select '11'

union all select '12'

union all select '15'

union all select '22'

--排序

daosql

select t from #

order by case when len(t)=1 then t when t like '%[a-z]' then left(t,1) else 'zz' end,t

--刪除

專環境屬

drop table #

2樓:匿名使用者

需要一個判斷字元是否為數字的函式,你可以寫一個,

專假設名稱屬為 bool f_isdigit()

order by case when f_isdigit(col) then convert(int,col) else 999999999 end asc, col asc

3樓:匿名使用者

order by 列名

4樓:匿名使用者

1,2,2a,10,11,12,15,22

sql語句中對一個欄位排序,欄位中含有字串和數字,(怎根據數字進行排序)

5樓:匿名使用者

假如表為test,name欄位存放班級

,**如下:

select id,name,substring_index(name, '班級',1) as num

from test

order by num asc

6樓:匿名使用者

order by 欄位名稱+0 desc/asc的形式進行排序

order by 欄位名稱*1 desc/asc的形式進行排序

sqlserver排序問題,欄位中含有字母、數字、漢字,如何只按數字排序 20

7樓:匿名使用者

可以先把數值型轉字元 再根據字元的長度和數值聯合排序

order by len(convert(nvarchar(3),id)) , id

8樓:匿名使用者

如果數字都是小於10的,可以直接order by,按照字元規則排序就是你想要的這個。

如果版數字權有兩位以上的,這時候11會排在2的前面,如果想數字按照數字的規則排序,字母按照字母的規則排序,需要根據條件將數字和字母分別查詢出來進行排序,然後使用union all聯接出結果。

9樓:匿名使用者

if object_id('fn_getnumberfromstring') is not null

begin

drop function fn_getnumberfromstring;

end;

gocreate function fn_getnumberfromstring ( @str nvarchar(80) )

returns int

asbegin

declare @i int ,

@len int;

set @len = len(@str);

if @len = 0

return 0;

set @i = 1;

declare @char varchar(1);

set @char = left(@str, 1);

declare @outstr varchar(80);--用於輸e68a8462616964757a686964616f31333363373134出

declare @tmpstr varchar(81);--用於提高效能

set @outstr = '';

set @tmpstr = '0';

while @i <= @len

begin

if patindex('%[0-9]%', @char) = 1

and patindex('%[0-9]%', right(@tmpstr, 1)) = 1

begin

set @outstr += @char;

set @tmpstr += @char;

end;

if len(@outstr) > 0

and patindex('%[0-9]%', @char) = 0

set @tmpstr += @char;

if patindex('%[0-9]%', right(@tmpstr, 1)) = 0

begin

goto outlocation;

end;

set @i += 1;

set @char = substring(@str, @i, 1);

end;

outlocation:

return case when @outstr='' then 0 else cast(@outstr as int ) end;

end;go

10樓:匿名使用者

資料庫排序應該是根據第一個字元的ascii碼來的,如果第一個相同,就根據第二個

關於sql語句的一個排序問題(中文和數字排序)

11樓:匿名使用者

你得分三個欄位 來分別儲蓄市區名、字母、數字然後語句用多欄位的排序select projectno from dual order by 市區名、字母、數字 asc

12樓:匿名使用者

select projectno from dual order by substring(projectno ,1,2) asc ,substring(projectno ,3,6) asc ,substring(projectno ,9,2) asc

從1100中共有多少個數含有數字五的

共有10 8 18個數字含有5 分別為 5 15 25 35 45 50 51 52 53 54 55 56 57 58 59 65 75 85 95 有10 個數含有數字五 從1到100這個100個數中,有多少個數字1 答案為 21個 1 9中,數字1出現了 1次,10 19中,1出現了11次,2...

從023489中選出數字,組成能被235同時整除的最大三

從023489中選出3個數字,組成能被235同時整除的最大三位數是 930 大學理工類都有什麼專業 10 理工類專業 數學與應用數學 資訊與計算科學 物理學 應用化學 生物技術 地質學 大氣科學類 理論與應用力學 電子資訊科學與技術 環境科學 採礦工程 石油工程 冶金工程 機械設計製造及其自動化 建...

在html中同一段怎麼分別設定字型和數字不同的顏色和背景

小範圍設定 比如 我是 個好人標籤用什麼無所謂 根據具體情況來 html同一個標籤如何設定兩種不同字型?比如數字和宋體 5 你在設定字型 如檔案頭 時,先寫好你要設定的英文字型,然後再寫你要的中文字型,這樣應用這個樣式的文字,會優先匹配使用你指定的英文字型,但是在英文字型找不到中文字元時,它就會自動...