sql取欄位前幾位
⑴ sql語句中如何查出int類型欄位的前幾位
select
cast(substring(cast(table.id
as
char),1,3)
as
int)
from
tablename.
原理就是兩次轉換...先變成字元串
截取3位再轉int.
如果是oracle資料庫
截字元串函數為substr
數據類型為
varchar
,number
我已經運行成功了
你試試
⑵ sql server 取一個欄位 的前5
是不是C列就是分類,E列就是具體的值,然後需要按照C分組,並取分組後的每組的E列的前5條?
如果是就看看以下語句
--分組排序
selectrow_number()over(partitionbyCorderbyEDESC)no,a,b,c,d,e
fromt1
--將分組排序的查詢當作一張表查詢,需要按照上面排序,可以自己修改,這里處理為所描述的降序,根據no判斷,小於等於5的就是需要的數據
select*
from(
selectrow_number()over(partitionbyCorderbyEDESC)no,a,b,c,d,e
fromt1
)a
wherea.no<=5
⑶ sql怎麼取字元串的前幾位
sql語句截取字元串前幾位語句:
select
substr(cont_no,1,9)
from
for_contract
SUBSTRING
(
expression
,
start
,
length
)
expression:是字元串、二進制字元串、text、image、列或包含列的表達式。不要使用包含聚合函數的表達式。
start:是一個整數,指定子串的開始位置。
length:是一個整數,指定子串的長度(要返回的字元數或位元組數)。
eg:select
id
from
users
id的值是001.002$
select
substring(ID,charindex('.',ID)+1,(charindex('$',ID)-charindex('.',ID)-1))
as
idx
⑷ sql查詢包含指定欄位前幾位的數據
select*frompubgszlwhereleft(gsdm,4)='0501'
⑸ sql 截取欄位前8位和最後4位
1、SUBSTRING
返回字元、binary、text或 image表達式的一部分。有關可與該函數一起使用的有效 Microsoft® SQL Server™數據類型的更多信息,請參見數據類型。
語法
SUBSTRING(expression , start , length )
參數
expression
是字元串、二進制字元串、text、image、列或包含列的表達式。不要使用包含聚合函數的表達式。
start
是一個整數,指定子串的開始位置。
length
是一個整數,指定子串的長度(要返回的字元數或位元組數)。
substring()
——任意位置取子串
2、left() 和right()
——左右兩端取子串
示例:
declare@strvarchar(100);
set@str='gwengnwelgkweg';
selectSubstring(@str,0,8)--從左邊第一位開始,截取8位
selectSubstring(@str,Len(@str)-4,4)--截取後4位
--left()right()
selectleft(@str,8)--截取前8位
selectright(@str,4)--截取後4位