VARCHARフィールドの値が正常に整数に変換できるかどうかを知るにはどうすればよいですか?
あるテーブルから別のテーブルにレコードを挿入するために大規模に実行したい...
VARCHARフィールドの値が正常に整数に変換できるかどうかを知るにはどうすればよいですか?
あるテーブルから別のテーブルにレコードを挿入するために大規模に実行したい...
IsNumeric()関数は、数値に変換できる文字列(varchars)の場合は1を返し、変換できない文字列(varchars)の場合は0を返します。
IsNumeric関数をチェックしてください
IsNumeric()関数の問題の1つは、Trueを取得し、数値が小数点を取得した場合、まったく正しいことですが、varcharの数値を小数点記号なしで直接チェックする必要がある場合は、(必要なときに取得しました)バーコードのチェックディジットを計算するには)次のようなcastom製の関数を使用できます
create FUNCTION [dbo].[checkbarkod]
(
@ean_kod varchar(13)
)
RETURNS bit
AS
begin
declare @duzina int
declare @slovo char(1)
declare @pozicija int
declare @uredu bit
set @duzina=len(@ean_kod)
while @duzina>0
begin
set @slovo=(substring(@ean_kod,@duzina,1))
if (@slovo not in('1','2','3','4','5','6','7','8','9','0'))
begin
set @uredu=convert(bit,0)
break
end
else
begin
set @uredu=convert(bit,1)
set @duzina=@duzina-1
end
end
RETURN @uredu
end