A. sql數字字元串排序
--負責把字元串轉換為Varbinary
--思路,把字元串按.拆分,然後轉換成int,再轉換成varbinary拼接
CreateFunctionf_Order(@SourceSqlVarchar(8000),@StrSeprateVarchar(2))
ReturnsVarbinary(8000)
As
Begin
Declare@tempVarbinary(8000)=0x0
Declare@chVarchar(100)
Set@SourceSql=@SourceSql+@StrSeprate
While(@SourceSql<>'')
Begin
Set@ch=left(@SourceSql,Charindex(@StrSeprate,@SourceSql,1)-1)
Set@temp=@temp+Convert(Varbinary,Convert(Int,@ch))
Set@SourceSql=Stuff(@SourceSql,1,Charindex(@StrSeprate,@SourceSql,1),'')
End
Return@temp
End
Go
--建表
CreatetableT
(
AVarchar(100)
)
--插入數據
InsertIntoTValues('1.1')
InsertIntoTValues('1.1.1')
InsertIntoTValues('1.1.2')
InsertIntoTValues('1.2')
InsertIntoTValues('10.1')
InsertIntoTValues('10.1.1')
InsertIntoTValues('10.1.2')
InsertIntoTValues('11.1')
InsertIntoTValues('2.1')
InsertIntoTValues('3.1')
InsertIntoTValues('4.1')
--測試
Select*fromT
orderbydbo.f_Order(A,'.')
B. 怎麼用sql對搜索結果排序並添加序號
1、首先建一張測試表coal_blead,裡面有多個欄位。
C. Sql2000 中如何給表中數據排序並按次序編號
select row_number() over(order by 要排序欄位) as newid,* from tablename
D. 如何寫sql代碼進行排序
select *
from (
select *,(case when delete_type='NONE' then 0 else 1 end) as flag
from table_name
) t
order by flag asc, pv asc
--order by flag desc,PV desc
E. 用SQL語句怎樣排序
這個可以根據地區編碼降序排列
代碼如下:
select * from 表名
order by 地區編碼 desc
中文屬性列名不記得要不要加上引號 你試下看看
F. 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區分寬度:如果想讓比較將半形字元和全形字元視為不等,請選擇該選項。
G. sql中的排序,如何使用倒序
sql中排序倒序使用desc關鍵字,一般需要和order by 合用,示例sql語句如下:
例如:select * from student order by age desc;
意思是查詢學生表,以學生年紀倒序排列。
排序採用 order by 子句,order by 後面跟上排序欄位,排序欄位可以放多個,多個採用逗號間隔,order by默認採用升序(asc),如果存在 where 子句,那麼 order by 必須放到where 語句後面。
例如:select ename,job,ename from emp order by job desc,sal desc;
意思是查詢員工表按照 job 和薪水倒序排序 。
(7)sql中排序編碼擴展閱讀
sql中升序(正序)用法介紹:
1、使用asc關鍵字
例如:select ename,sal from emp order by sal asc;
手動指定按照薪水由小到大排序(升序關鍵字 asc)
2、不加asc關鍵字,系統默認升序
例如:select ename,job,sal from emp where job = 」MANAGER」order by sal;
取得job 為 MANAGER 的員工,按照薪水由小到大排序(系統默
認由小到大)
H. sql中排序要怎麼寫
1.語法:
SELECT "欄位名"
FROM "表格名"
[WHERE "條件"]
ORDER BY "欄位名" [ASC, DESC];
2.注意事項:先分組再排序,運用的是ORDER BY,後面加的是你要按什麼排序,如果按照升序可以不用寫或者加上ASC;如果是降序,要加上DESC。
3.例子:SELECT id FROM user ORDER BY id;
I. SQL表的重排序問題
我好像回過這樣的帖子,是不是你提的問呀,下面語句有什麼地方不能滿足你呢?
SELECT 存貨編碼,
SUM(CASE 客戶編碼 WHEN 'K01' THEN 發貨數量 ELSE 0 END) AS K01,
SUM(CASE 客戶編碼 WHEN 'K02' THEN 發貨數量 ELSE 0 END) AS K02,
SUM(CASE 客戶編碼 WHEN 'K03' THEN 發貨數量 ELSE 0 END) AS K03
FROM 表 GROUP BY 1 ORDER BY 1
J. sql 升序降序排列
降序:SELECT * FROM kc ORDERBYcpbh DESC
升序:SELECT * FROM kc ORDERBYcpbhASC
語法:
sql可以根據欄位進行排序,其中,DESC表示降序,ASC表示升序
order by 欄位名 DESC;按照欄位名降序排序
order by 欄位名 ASC;按照欄位名升序排序
實例:
一、/*查詢學生表中姓名、學號,並以學號降序排序*/
select name,StuID from Students_information order by StuID desc /**order by 以什麼排序,默認為升序,desc是降序*/
二、/*查詢學生表中前5名學生的姓名,學號,並以學號升序排列*/
select top 5 name,StuID from Students_information order by StuID /*order by 默認為升序*/
(10)sql中排序編碼擴展閱讀:
一、ORDER BY 語句
ORDER BY 語句用於根據指定的列對結果集進行排序。
ORDER BY 語句默認按照升序對記錄進行排序。
如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。
二、SQL 排序多個欄位
order by 多個欄位,每個欄位後面都有排序方式,默認ASC
例如:select table a order by a.time1 ,a.time2 desc,a.time3 asc