Sql 删除包含*
不知何故,我在我的表中输入了一个由“*-/”组成的条目 我所有关于删除它的知识都会返回: “*”附近的语法不正确 或 将varchar值“*-/”转换为数据类型时,转换失败 内部的 还有一个命令,删除所有不属于我的集合的内容Sql 删除包含*,sql,sql-server,tsql,Sql,Sql Server,Tsql,不知何故,我在我的表中输入了一个由“*-/”组成的条目 我所有关于删除它的知识都会返回: “*”附近的语法不正确 或 将varchar值“*-/”转换为数据类型时,转换失败 内部的 还有一个命令,删除所有不属于我的集合的内容 eg;id不是(1,2,3,4)我猜您的列stid是一种文本数据类型(text、ntext、nvarchar等),但其中有一堆看起来像数字的文本,不管出于什么原因,SQL Server都会看到这些值并为您进行隐式转换,然后失败。试试这个 DELETE st210
eg;id不是(1,2,3,4)我猜您的列
stid
是一种文本数据类型(text、ntext、nvarchar等),但其中有一堆看起来像数字的文本,不管出于什么原因,SQL Server都会看到这些值并为您进行隐式转换,然后失败。试试这个
DELETE
st210
WHERE
CONVERT(nvarchar(max), stid) = '*-/'
强制显式转换应该可以避免任何不正确的隐式转换对您造成的伤害。如果这不起作用,让我知道,我会收回答案 我的猜测是,您的列
stid
是一种文本数据类型(text、ntext、nvarchar等),但其中有一堆看起来像数字的文本,不管出于什么原因,SQL Server都会看到这些值并为您进行隐式转换,然后失败。试试这个
DELETE
st210
WHERE
CONVERT(nvarchar(max), stid) = '*-/'
强制显式转换应该可以避免任何不正确的隐式转换对您造成的伤害。如果这不起作用,让我知道,我会收回答案 在语句中使用通配符%围绕u/like so%\uu/%编辑您的问题并添加您尝试的SQL语句。请显示您使用的命令。
stid
的数据类型是什么?这是您看到值'*-/'
的列吗?该错误似乎表明它是一个整数列,不能包含该值。它是varchar,而不是null。请在您的语句中使用通配符%围绕u/like so%\uu/%编辑您的问题并添加您尝试的SQL语句。请显示您使用的命令。stid
的数据类型是什么?这是您看到值'*-/'
的列吗?该错误似乎表明它是一个整数列,不能包含该值。它是varchar,而不是null。如果您在varchar列上使用%作为通配符,那么“*”附近的语法仍然不正确,这不应该是WHERE列名称,比如“%*-/%”代码>?我的sql知识是大杂烩,需要时就学习。我一辈子都记不起“逃逸角色”这个名字,所以我可以一直搜索到现在。但是你的命令@JOE帮我解决了这个问题。试过了。如果您在varchar列上使用%作为通配符,那么“*”附近的语法仍然不正确,这不应该是WHERE列名称,比如“%*-/%”代码>?我的sql知识是大杂烩,需要时就学习。我一辈子都记不起“逃逸角色”这个名字,所以我可以一直搜索到现在。但是你的命令乔帮我解决了这个问题。
DELETE
st210
WHERE
CONVERT(nvarchar(max), stid) = '*-/'