我使用的是SQL Server Management Studio 18.
这是我的代码
select *
from Table
where convert(numeric, ["신규가입자수"] ) > 100
列的内容为number,数据类型为varchar(50)
,如下图所示。
日期"(varchar) | "(varchar) | "2018 - 07 - 18"> | , 2194, |
---|---|
"2018 - 07 - 17"> | , 2123, |
如果您想在结果集中得到转换后的值,那么您需要选择它:
select t.*,
convert(numeric, t.["신규가입자수"] ) as converted_value
from Table t
where convert(numeric, ["신규가입자수"] ) > 100;
如果你得到一个错误,使用try_convert()
代替:
select t.*,
try_convert(numeric, t.["신규가입자수"] ) as converted_value
from Table t
where try_convert(numeric, ["신규가입자수"] ) > 100;
如果问题是双引号,那么删除它们:
select t.*,
try_convert(numeric, replace(t.["신규가입자수"], '"', '') ) as converted_value
from Table t
where try_convert(numeric, replace(["신규가입자수"], '"', '') ) > 100;