MS SQL自定義函式IsNumeric

2021-09-08 23:00:24 字數 2636 閱讀 9194

判斷字串是否為純數字,負數不算。如'00012','54585','1000'

函式返bit資料型別,是數字返回1,非數字返回0。

asbegin

declare

@rtv

bit=

1declare

@str

nvarchar(max) =

ltrim(rtrim(isnull(@string,''))) --

去除前後空格,如果為null轉為''

declare

@start

int=1;

declare

@end

int=

len(@str) --

獲取字串長度

while (@start

<=

@end) --

迴圈字串每乙個字元

begin

declare

@numeric

varchar(1) =

''set

@numeric

=substring(@str, @start, @start

+1) --

每迴圈一次,從左邊獲取一位字元

ifascii(@numeric) >=

48and

ascii(@numeric) <=

57--

如果是數字

begin

set@start

=@start+1

;

continue

--繼續迴圈

endelse

begin

set@rtv=0

break

--跳出迴圈

endend

return

@rtv

endsource code

建立乙個例子來演示:

MSSQL 自定義分割函式

由於要寫乙個加班程式 需要處理到的乙個問題就是批量插入 listbox的專案插入到資料庫 方法一 迴圈呼叫儲存過程 方法二 一次性傳入引數到儲存過程,儲存過程中游標處理 方法二的方案效率比較高 但需要解決的乙個問題是 如何分割函式 多層分隔函式 工號1 名字1,工號2 名字2,實現迴圈插入資料庫 分...

MS SQL入門基礎 使用者自定義函式

除了使用系統提供的函式外,使用者還可以根據需要自定義函式。使用者自定義函式 user defined functions 是sql server 2000 新增的資料庫物件,是sql server 的一大改進。使用者自定義函式不能用於執行一系列改變資料庫狀態的操作,但它可以像系統函式一樣在查詢或儲存...

MSSQL 建立自定義異常

建立時,必須先建立英文的,否則會報錯 必須新增此訊息的 us english 版本後,才能新增 簡體中文 版本。exec sp addmessage 50001,15,option wrong us english exec sp addmessage 50001,15,操作錯誤 簡體中文 在 加入...