sql取前幾位
㈠ sql 取字元前幾位
left(字元串,要取的字元數)
從左邊第一個起取字元串的N個字元
樓上正解
㈡ 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 怎麼截取字元串前幾個字元
用 substr(column,1,n) 從第幾位開始截 截幾位
left(column,n)
right(column,n)
㈣ 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位
㈤ SQL如何查詢表中某一列中的數據的前幾位
問一下你這個是char型的數據么
SQL當中
substring('2012001',1,4)得到的會是2012,後孝閉面兩個參數看得懂吧,遲臘1,起始位置,4截取位數
如果你的2012001是date型的,或者int型其他類型,先強轉成char型的,在用碼慎滑上面的substring截取
㈥ sql語句中如何查出int類型欄位的前幾位
select
cast(substring(cast(table.id
as
char),1,3)
as
int)
from
tablename.
原理就是兩次轉換...先變成字元串
截取3位再轉int.
如果是oracle資料庫
截字元串函數為substr
數據類型為
varchar
,number
我已經運行成功了
你試試
㈦ sql取特定字元的前面幾位字元
select substr('L-0FCLDRBCT-dsfsdfs',1,instr('L-0FCLDRBCT-dsfsdfs','-',1,2)-1) from al;
首先用函數instr找到字元串中第二個」-」的位置,返回數字
然後使用substr函數從1一直截搭告取到上步驟槐森返回的數鉛枝畝字。
㈧ sql查詢包含指定欄位前幾位的數據
select*frompubgszlwhereleft(gsdm,4)='0501'
㈨ 在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
㈩ SQL報表設計器中怎麼取前幾位值
left(欄位名,3)
取從左邊開始的前3位數字