将varchar值“simple”转换为数据类型int时转换失败 [英] Conversion failed when converting the varchar value 'simple, ' to data type int
问题描述
我想要 现在我必须将 将varchar值simple转换为数据 没有最后一个 你能帮助我吗?我很绝望。 谢谢。 这样的错误你可以使用 至$ / $> 基本上这是说如果你不能将我转换为int赋值为0(在我的例子中) 或者你可以看看这篇关于创建一个自定义函数的文章,它将检查 I am struggling for a few days with this issue and I can't figure out how can I fix it. I would like to Now I have to BUT Conversion failed when converting the varchar value 'simple, ' to data
type int. (on line 7)
I am not getting this error without the last Could you help me please? I am desperate. Thanks. In order to avoid such error you could use To Basically this is saying if you cannot convert me to int assign value of 0 (in my example) Alternatively you can look at this article about creating a custom function that will check if 这篇关于将varchar值“simple”转换为数据类型int时转换失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋! >我的表上的值
1
, 2
, 3
, 4
, 5
所以我创建了一个 temporary $ b INNER JOIN
这个表格与
a.value =#myTempTable.num
。
a.value 是
ntext
所以我需要 CONVERT
它实际上是我做的,但我得到错误:
类型int时转换失败。 (在第7行)
创建表#myTempTable
(
(1),(2),(3),(4),(5)
插入到#myTempTable(num)中的数字
)
SELECT a.name ,CONVERT(INT,CONVERT(VARCHAR(12),a.value))AS值,COUNT(*)AS pocet
FROM
(SELECT item.name,value.value
FROM mdl_feedback AS feedback
INNER JOIN mdl_feedback_item AS item
ON feedback.id = item.feedback
INNER JOIN mdl_feedback_value AS value
ON item.id = value.item
WHERE item .TYP ='multichoicerated'AND item.feedback IN(43)
)作为
INNER JOIN #myTempTable
CONVERT(INT,CONVERT(VARCHAR(12),a.value)) =#myTempTable.num
GROUP BY a.name,CONVERT(INT,CONVERT(VARCHAR(12),a.value))ORDER BY a.name
drop table #myTempTable
INNER JOIN
INNER JOIN #myTempT能够在CONVERT(INT,CONVERT(VARCHAR(12),a.value))
=#myTempTable.num
CASE
+ ISNUMERIC
来处理无法转换为int的场景。
更改
$ pre $ $ $ $ $ CONVERT(INT,CONVERT(VARCHAR(12),a.value))
<$ c $ (CONVERT(VARCHAR(12),a.value)
ELSE 0 END)
a.value
是否是数字: http://www.tek-tips.com/faqs.cfm?fid = 6423 group by
my table on values 1
,2
,3
,4
,5
so I have created a temporary table with this values.INNER JOIN
this table with other tables on a.value = #myTempTable.num
.a.value
is ntext
so I need to CONVERT
it what I actually did, but I am getting an error:
Create table #myTempTable
(
num int
)
insert into #myTempTable (num) values (1),(2),(3),(4),(5)
SELECT a.name, CONVERT(INT, CONVERT(VARCHAR(12), a.value)) AS value, COUNT(*) AS pocet
FROM
(SELECT item.name, value.value
FROM mdl_feedback AS feedback
INNER JOIN mdl_feedback_item AS item
ON feedback.id = item.feedback
INNER JOIN mdl_feedback_value AS value
ON item.id = value.item
WHERE item.typ = 'multichoicerated' AND item.feedback IN (43)
) AS a
INNER JOIN #myTempTable
on CONVERT(INT, CONVERT(VARCHAR(12), a.value)) = #myTempTable.num
GROUP BY a.name, CONVERT(INT, CONVERT(VARCHAR(12), a.value)) ORDER BY a.name
drop table #myTempTable
INNER JOIN
INNER JOIN #myTempTable on CONVERT(INT, CONVERT(VARCHAR(12), a.value))
= #myTempTable.num
CASE
+ ISNUMERIC
to handle scenarios when you cannot convert to int.
Change CONVERT(INT, CONVERT(VARCHAR(12), a.value))
CONVERT(INT,
CASE
WHEN IsNumeric(CONVERT(VARCHAR(12), a.value)) = 1 THEN CONVERT(VARCHAR(12),a.value)
ELSE 0 END)
a.value
is number: http://www.tek-tips.com/faqs.cfm?fid=6423
登录
关闭