删除包含*的SQL条目

时间:2016-02-23 19:17:39

标签: sql sql-server tsql

不知何故,我输入了一个包含' * - /'的表格。

我所有关于删除它的知识都会返回:

  

' *'

附近的语法不正确

  

转换varchar值时转换失败' * - /'到数据类型   中间体

delete * from st210 where stid = '*-/'

以及删除所有不属于我的集合

的命令

例如; id不是(1,2,3,4)

2 个答案:

答案 0 :(得分:2)

DELETE FROM table_name
WHERE column_name = '%*-/%';

答案 1 :(得分:0)

我的猜测是你的列stid是一个文本数据类型(text,ntext,nvarchar等),但你有一堆看起来像数字的文本,无论出于何种原因, SQL Server正在查看这些值并为您执行一些隐式转换,然后失败。试试这个......

DELETE 
     st210 
WHERE
     CONVERT(nvarchar(max), stid) = '*-/'

强制显式转换应该避免任何不正确的隐式转换咬你。如果这不起作用,请告诉我,我会撤回答案。