将varchar值'F01'转换为数据类型int时转换失败

时间:2018-12-18 20:41:36

标签: tsql

看来[t_l_unit]是varchar与我的Where子句中的过滤器冲突。我可以使用某种类型的Cast修复此问题吗?尝试在下面包含当前查询的图片:

当前查询

2 个答案:

答案 0 :(得分:0)

查询没有通过,但您应该可以执行以下操作:

CAST([t_l_unit] AS INT) 

将其用作where子句中的数字。

答案 1 :(得分:0)

按照帖子的标题,您正在尝试将值“ F01”转换为INT吗?

由于字符串中的“ F”,显然这是不可能的。

您可以做的是使用TRY_CAST函数,如果可以的话,它将把值转换为INT,否则将返回NULL

SELECT val1, va2, etc
FROM myTable
WHERE TRY_CAST([t_l_unit] as INT) = 12