1. 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
2. sql 查詢欄位中的前幾個字
可以使用:substr(
string,
start_position,
[
length
]
);string:源字元串;start_position:提取的位置,字元串中第一個位置始終為1;[
length
]:提取的字元數,如果省略,substr將返回整個字元串;
針對本例舉例說明:
select
*
from
表名 where substr([D],1,2)=「10」
語句功能說明:從指定表中查詢D欄位第1、2個字元為「10的記錄」。
(2)sql查詢字元前四位擴展閱讀:
注意事項
語法:substr(string,start,length)
string參數:必選。資料庫中需要截取的欄位。
start參數:必選。
正數,從字元串指定位子開始截取;負數,從字元串結尾指定位子開始截取;0,在字元串中第一個位子開始截取。1,同理。(特殊)
length參數:可選。需要截取的長度。預設,即截取到結束位置。
注意:若必選參數為空,那返回的結果也為空。
3. 在SQL語句中如何用正則取出一個字元串的前幾位數字
SQL 取字元串的前幾位數字,SQL 關鍵字 substring
substring 使用方法,參考下列SQL:
declare @T nvarchar(10)
set @T='12345abcde'
select substring(@T,1,5)
結果如下:12345
如果是SQL 寫正則表達式判斷,只能通過存儲過程或函數來處理
SQL 如下:
CREATE FUNCTION dbo.find_regular_expression
(
@source varchar(5000), --需要匹配的源字元串
@regexp varchar(1000),--正則表達式
@ignorecase bit = 0--是否區分大小寫,默認為false
)
RETURNS bit--返回結果0-false,1-true
AS
BEGIN
--0(成功)或非零數字(失敗),是由 OLE 自動化對象返回的 HRESULT 的整數值。
DECLARE @hr integer
--用於保存返回的對象令牌,以便之後對該對象進行操作
DECLARE @objRegExp integer DECLARE @objMatches integer
--保存結果
DECLARE @results bit
/*
創建 OLE 對象實例,只有 sysadmin 固定伺服器角色的成員才能執行 sp_OACreate,並確定機器中有VBScript.RegExp類庫
*/
EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
/*
以下三個分別是設置新建對象的三個屬性。下面是'VBScript.RegExp'中常用的屬性舉例:
Dim regEx,Match,Matches '建立變數。
Set regEx = New RegExp '建立一般表達式。
regEx.Pattern= patrn '設置模式。
regEx.IgnoreCase = True '設置是否區分大小寫。
regEx.Global=True '設置全局可用性。
set Matches=regEx.Execute(string) '重復匹配集合
RegExpTest = regEx.Execute(strng) '執行搜索。
for each match in matches '重復匹配集合
RetStr=RetStr &"Match found at position "
RetStr=RetStr&Match.FirstIndex&".Match Value is '"
RetStr=RetStr&Match.Value&"'."&vbCRLF Next
RegExpTest=RetStr
*/
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Global', false
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignorecase
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
--調用對象方法
EXEC @hr = sp_OAMethod @objRegExp, 'Test', @results OUTPUT, @source
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
--釋放已創建的 OLE 對象
EXEC @hr = sp_OADestroy @objRegExp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
RETURN @results
END
4. sql 取字元前幾位
left(字元串,要取的字元數)
從左邊第一個起取字元串的N個字元
樓上正解
5. SQL 截取字元串前4位,如:123A 123-B 但是我不需要'-'字元,如何能截取到我要的123A 和123B
update表名
setkey=substr(url,28,3)
所有的key會被更新url裡面圈出來的key
6. sql 查詢欄位中的前幾個字
可以使用:substr( string, start_position, [ length ] );string:源字元串;start_position:提取的位置,字元串中第一個位置始終為1;[ length ]:提取的字元數,如果省略,substr將返回整個字元串;
針對本例舉例說明:
select * from 表名wheresubstr([D],1,2)=「10」
語句功能說明:從指定表中查詢D欄位第1、2個字元為「10的記錄」。
(6)sql查詢字元前四位擴展閱讀:
注意事項
語法:substr(string,start,length)
string參數:必選。資料庫中需要截取的欄位。
start參數:必選。
正數,從字元串指定位子開始截取;負數,從字元串結尾指定位子開始截取;0,在字元串中第一個位子開始截取。1,同理。(特殊)
length參數:可選。需要截取的長度。預設,即截取到結束位置。
注意:若必選參數為空,那返回的結果也為空。
7. sql2005 查詢表中某個欄位的的前4位
Num列是什麼類型的呢?如果是bigint類型,效率最高的方法是用between來確定數值范圍
SELECT * FROM tableA WHERE Num BETWEEN 230100000000 AND 2301999999999
也可以通過其它方法,但是如果Num列上有索引,進行算數運算的話就不能使用索引快速檢索數據了。
8. sql中如何在where字句里截取某個欄位的前幾位字元
sql中在where字句里截取字元方法如下:
1、如果是sqlserver:where left(p.end_time,4) = '2012'。
2、如果是Oracle:where substr(p.end_time,0,4) = '2012'。
舉例:
1、oracle: 'where substr(欄位名,1,2)='''123''''
2、sqlserver: 'where substring(欄位名,1,2)='''123''''
(8)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():返回某個被請求的文本域的右側部分
9. sql查詢包含指定欄位前幾位的數據
select*frompubgszlwhereleft(gsdm,4)='0501'
10. sql 怎麼取 字元串的前幾位
sql中,使用LEFT函數即可取到字元串的前幾位。
LEFT(c, number_of_char)用於返回某個被請求的文本域的左側部分,其中c代表被請求的文本域,number_of_cha代表需要取出的字元串位數。如「LEFT("..com", 6)」即可取得字元串""。
(10)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():返回某個被請求的文本域的右側部分