表1
ID
01
wire
02
steve
ram123
03
....
table1 から数値のみを選択したい (ram123) のような英数字の値は表示しない
期待される出力
01
02
03
....
この条件のクエリを作成する方法
表1
ID
01
wire
02
steve
ram123
03
....
table1 から数値のみを選択したい (ram123) のような英数字の値は表示しない
期待される出力
01
02
03
....
この条件のクエリを作成する方法
SELECT * FROM @Table
WHERE Col NOT LIKE '%[^0-9]%'
IsNumeric()にはいくつかの制限があることに注意してください。たとえば、以下のすべてが1を返します。
SELECT ISNUMERIC(' - ')
SELECT ISNUMERIC(' , ')
SELECT ISNUMERIC('$')
SELECT ISNUMERIC('10.5e-1')
SELECT ISNUMERIC('$12.09')
したがって、数字のみを選択する場合は、次のように機能する可能性があります。
create function [dbo].[IsNumbersOnly](@strSrc as varchar(255))
returns tinyint
as
begin
return isnumeric(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(
@strSrc, '\', 'x'), '-', 'x'), ',', 'x'), '+', 'x'), '$', 'x'), '.', 'x'), 'e', 'x'), 'E', 'x'),
char(9), 'x'), char(0), 'x'))
end
SELECT column1 FROM table where ISNUMERIC(column1) = 1