不知何故,我输入了一个包含' * - /'的表格。
我所有关于删除它的知识都会返回:
' *'
附近的语法不正确
或
转换varchar值时转换失败' * - /'到数据类型 中间体
delete * from st210 where stid = '*-/'
以及删除所有不属于我的集合
的命令例如; id不是(1,2,3,4)
答案 0 :(得分:2)
DELETE FROM table_name
WHERE column_name = '%*-/%';
答案 1 :(得分:0)
我的猜测是你的列stid
是一个文本数据类型(text,ntext,nvarchar等),但你有一堆看起来像数字的文本,无论出于何种原因, SQL Server正在查看这些值并为您执行一些隐式转换,然后失败。试试这个......
DELETE
st210
WHERE
CONVERT(nvarchar(max), stid) = '*-/'
强制显式转换应该避免任何不正确的隐式转换咬你。如果这不起作用,请告诉我,我会撤回答案。