SQL Server:将varchar转换为数字错误



我使用的是SQL Server Management Studio 18.

这是我的代码

select * 
from Table
where convert(numeric, ["신규가입자수"] ) > 100

列的内容为number,数据类型为varchar(50),如下图所示。

tbody> <<tr>
日期"(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;

相关内容

  • 没有找到相关文章

最新更新