當前位置:首頁 » 編程語言 » sql摘取固定位元組
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql摘取固定位元組

發布時間: 2023-03-11 00:11:38

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

1

評論

分享

舉報

lovesmile35
來自電腦網路類芝麻團2017-01-13

也可以用 substr(column,1,n) 從第幾位開始截 截幾位
left(column,n)
right(column,n)
可以試試 都可以

㈡ sql 怎麼取 字元串的前幾位

sql中,使用LEFT函數即可取到字元串的前幾位。

LEFT(c, number_of_char)用於返回某個被請求的文本域的左側部分,其中c代表被請求的文本域,number_of_cha代表需要取出的字元串位數。如「LEFT("..com", 6)」即可取得字元串""。

(2)sql摘取固定位元組擴展閱讀:

sql中,常用函數介紹:

1、AVG():返回平均值

2、COUNT():返回行數

3、FIRST():返回第一個記錄的值

4、LAST():返回最後一個記錄的值

5、MAX():返回最大值

6、MIN():返回最小值

7、SUM():返回總和

8、UCASE():將某個欄位轉換為大寫

9、LCASE():將某個欄位轉換為小寫

10、MID():從某個文本欄位提取字元

11、LEN():返回某個文本欄位的長度

12、ROUND():對某個數值欄位進行指定小數位數的四捨五入

13、NOW():返回當前的系統日期和時間

14、FORMAT():格式化某個欄位的顯示方式

15、INSTR():返回在某個文本域中指定字元的數值位置

16、LEFT():返回某個被請求的文本域的左側部分

17、RIGHT():返回某個被請求的文本域的右側部分

㈢ sql 只取前20位元組的數據怎麼取

declare@testvarchar(50)
declare@needvarchar(50)
declare@numint
set@num=0
set@test='中中中中中中中中中中中中中'
while(@num<=len(@test))
begin
set@need=substring(@test,0,@num)
set@num=@num+1
if(datalength(@need)=20)
begin
print@need
break
end
end

㈣ SQL取欄位中某一部分特定數值

如果只是固定取"20/30"比較容易, 只需找到"20/30"在此字元串的開始位置,再截取5個字元的長度就可以了,如:
SELECT CASE WHEN CHARINDEX('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg', '20/30') > 0 THEN SUBSTRING('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg', CHARINDEX('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg', '20/30'),5) ELSE '' END

如果不一定是20/30,而是與"/"前後關聯的數字(eg: 14/20, 33/66,等...),就麻煩了,你可能需要寫一個抽取字元串的函數,如: f_substr(),然後在SQL里調用:
select 用戶.f_substr('mgdf13hj44jjjgasetrxzc20/30nj5weyu45f5645gjhkdfjkg')

㈤ SQL 怎樣截取指定位置的中英文混合體 例如 截取『我是中國人0001』 的8 至 14位元組

create table #temp( test varchar(20) );
INSERT INTO #temp VALUES('我是中國人0001');
go
SELECT
Convert(char(8), test) AS [0to8],
Convert(char(14), test) AS [0to14],
RIGHT(Convert(char(14), test), LEN(Convert(char(14), test)) - LEN(Convert(char(8), test))) AS [8to14]
FROM
#temp
GO
0to8 0to14 8to14
-------- -------------- --------------
我是中國 我是中國人0001 人0001
(1 行受影響)



SQL Server 下面, 可以這么寫。