0

我有以下 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 数据类型,但我看不出代码有什么问题。

4

2 回答 2

4

您需要显式转换Child_ID为文本类型,否则它将隐式将 '%' 转换为数字(从其字符代码),因此会出现错误。

像这样:

SELECT * FROM Children WHERE Child_Name LIKE '%' + CAST( Child_ID AS varchar(10) ) + '%'
于 2013-03-25T16:59:10.197 回答
1

您正在尝试将 int 连接/添加到 varchar,这是无效操作。尝试
select * from children where child_name like '%'+cast(child_id as varchar(50))+'%'

于 2013-03-25T16:58:53.363 回答