我有以下SQL语句:
SELECT * FROM Children WHERE Child_Name LIKE '%' + Child_ID + '%'
SQL Server报告以下内容:Conversion failed when converting the varchar value '%' to data type int.
Child_ID是int数据类型,但我看不出代码有什么问题。
答案 0 :(得分:4)
您需要将Child_ID
显式转换为文本类型,否则会隐式将'%'转换为数字(来自其字符代码),因此会出现错误。
像这样:
SELECT * FROM Children WHERE Child_Name LIKE '%' + CAST( Child_ID AS varchar(10) ) + '%'
答案 1 :(得分:1)
您正在尝试将int连接/添加到varchar,这是一个无效的操作。
尝试
select * from children where child_name like '%'+cast(child_id as varchar(50))+'%'