當前位置:首頁 » 編程語言 » sql字元串取數字

sql字元串取數字

發布時間: 2025-05-15 22:57:45

A. sql怎麼取字元串中的數字

select substring(所查詢字元串,patindex('%[^0-9][0-9]%',所查詢字元串)+1,patindex('%[0-9][^0-9]%',所查詢字元串)-patindex('%[^0-9][0-9]%',所查詢字元串))這個只能查詢第一次在字元串出現的數字串,希望可幫到你你

B. sql怎麼取字元串中的數字

declare@lssqlstrnvarchar(100)
declare@sumdecimal(15,2)
set@lssqlstr='exec'+n'usp_sum''5'',@b=@sumoutput'
select@lssqlstr
execsp_executesql@lssqlstr,n'@sumdecimal(15,2)output',@sumoutput
select@sum

C. SQL怎樣取出字元串中的數字

比如你的表叫作TALBE1,欄位是str1,類型為nvarchar,那麼找出有湘政發的最大號加1這樣寫
select max(convert(int,substring(str1,patindex(N'%[1234567890]%',str1),len(str1)-patindex(N'%[1234567890]%',str1)+1-patindex(N'%[1234567890]%',reverse(str1))+1)))+1 from table1 where str1 like N'%湘政發%'
測試通過,耗時很長,請認真試試。
這是sql server 的寫法。

如果是ORACAL或其它的SQL語言您可以到這里參考一下。你會發現,用SQL SERVER我的方法要比他的好
http://book.csdn.net/bookfiles/530/10053017904.shtml

D. 在SQL語句中如何用正則取出一個字元串的前幾位數字

  1. SQL 取字元串的前幾位數字,檔坦兄SQL 關鍵字 substring

  2. substring 使用方法,參考下列SQL:

  3. declare @T nvarchar(10)

  4. set @T='12345abcde'

  5. select substring(@T,1,5)

  6. 結果如下:12345

  7. 如果是SQL 寫正則表達式判斷,只能通過存儲過程或函數來處理

  8. SQL 如下:

  9. 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

E. SQL怎樣取出字元串中的數字

select
casewhenb.FModellike'%=%'thenSUBSTRING(b.FModel,CHARINDEX('=',b.FModel)+1,LEN(b.FModel)-CHARINDEX('=',b.FModel))
whenb.FModellike'%*%'thenSUBSTRING(b.FModel,0,LEN(b.FModel)-CHARINDEX('*',b.FModel))
endas長度

熱點內容
滑鼠如何編程 發布:2025-05-16 02:29:09 瀏覽:815
安卓70能用什麼軟體 發布:2025-05-16 01:45:09 瀏覽:480
編程發展史 發布:2025-05-16 01:38:52 瀏覽:528
android圖片氣泡 發布:2025-05-16 01:38:40 瀏覽:886
文件加密編輯器下載 發布:2025-05-16 01:30:41 瀏覽:343
linuxapacheyum安裝 發布:2025-05-16 01:30:31 瀏覽:476
大連賓利浴池wifi密碼是多少 發布:2025-05-16 01:25:36 瀏覽:172
緩存數據生產服務 發布:2025-05-16 01:08:58 瀏覽:585
普通電腦伺服器圖片 發布:2025-05-16 01:04:02 瀏覽:971
伺服器地址和埠如何區分 發布:2025-05-16 01:03:17 瀏覽:834