我继承了第三方应用程序中的一个表,其中包含字符串和整数 - 我想拆分该表,但想知道确定该值是否为整数的最快方法?列是 varchar(250)
e.g.
Save
123456
Edit
Save
123455
Delete
123444
Run Code Online (Sandbox Code Playgroud)
我建议使用,如果无法转换值,TRY_CONVERT它将返回:NULL
SELECT TRY_CONVERT(int, YourColumn) AS intColumn
FROM YourTable
--WHERE TRY_CONVERT(int, YourColumn) IS NOT NULL --If you only want rows that converted.
Run Code Online (Sandbox Code Playgroud)
如果您更喜欢语法,还可以选择TRY_CAST( TRY_CAST(YourColumn AS int))。
我会使用TRY_CONVERT。
declare @Something table(SomeVal varchar(50))
insert @Something values
('Save')
, ('123456')
, ('Edit')
, ('Save')
, ('123455')
, ('Delete')
, ('123444')
select *
from @Something s
where TRY_CONVERT(int, s.SomeVal) is not null
Run Code Online (Sandbox Code Playgroud)