sql語句問題 像這樣的字串欄位裡含有數字還有漢字的如何使

2021-04-26 06:21:20 字數 3453 閱讀 9781

1樓:理工愛好者

把資料做一次清理。

提取資料裡你需要進行排序的資料放在一個新欄位裡查詢時按提取的欄位進行排序即可。

注意資料型別哈

祝好運,望採納。

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

2樓:匿名使用者

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

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

3樓:匿名使用者

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

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

4樓:匿名使用者

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

5樓:匿名使用者

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

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

6樓:匿名使用者

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

,**如下:

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

from test

order by num asc

7樓:匿名使用者

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

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

sql字串中加入數字怎麼排列

8樓:匿名使用者

不規律啊,那就太麻煩了

如果前面的字元是固定三位的話你就

order by right(left(欄位名,3),2)如果不固定.那你就只來回巢狀了.

9樓:shine戚七七

select * from table t order by t.click desc

查出抄的是按襲左對齊排bai

序的99979

89783

7要求du的是按數字大小zhi排的序

要修dao改為

select * from table t order by cast (t.click as int) desc

78399

978997

sql語句中查詢某欄位中含有某字串的語句怎麼寫?

10樓:大野瘦子

select filename from oa_file where filename not like '%[!-¥]%'

或者這個:

select filename from oa_file where filename not like '%[!-?]%'

出現的問題就是問號和問好也是不一樣的,比如說英文標點半形的問號是「?」,英文標點全形的問號是「?」但是中文半形問號是「?」中文全形的問號是「?」

這些都是不一樣的,你搜出來的都是帶有英文半形問號的檔案。

11樓:

你試試這個吧:

select filename from oa_file where filename not like '%[!-¥]%'

如果不行就再試試這個:

select filename from oa_file where filename not like '%[!-

12樓:匿名使用者

寫法是對的啊。

你不是說是亂碼才顯示成?的嘛,但對於資料庫來說不是?咯。

13樓:

你是用的sqlserver資料庫?還是其他的?

14樓:匿名使用者

本身就是亂碼的,匹配不上的

15樓:匿名使用者

語句沒問題

還是亂碼的問題吧

亂碼的編碼型別不一樣。

看似非是

16樓:

是對的吧,我試了下是ok的啊

C語言字串,求大佬,C語言字串陣列的問題

在語句for j 0 s j 0 j 中,j 記錄的是串s的字元個數,結束該迴圈時,s j 恰好是 0 在接下來的for迴圈中,第一個j 後,s j 是串s的最後一個字元,而i為0,迴圈體將s 0 與s j 進行交換,第二個j 是正常遞減,以便與i 相對應,交換s i 和s j 沒那個程式之類執行不...

jquery的字串替換問題,Jquery的字串替換問題

加個 g,全文匹配,用正則 使用.replaceall 嘗試。str.replaceall 是不是這樣寫?jquery 去除字串問題 這個貌似不用jquery吧,用replace方法就行 var a a,b,d,f,g,s a a.replace b,應該是先分割後join js或者用jquery的...

關於字串佔用空間的問題

a是指標,你上面的 沒有分配空間。僅僅是讓a指向常量陣列 abcd 你可以對比下下面 char a char c abcd a c 唯一的不同是a指向的不是常量,而是變數 現在a指向c,c是陣列變數 如果要給它分配的話應該這樣 char a a new char 5 strcpy a,abcd co...