Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 删除包含*_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 删除包含*

Sql 删除包含*,sql,sql-server,tsql,Sql,Sql Server,Tsql,不知何故,我在我的表中输入了一个由“*-/”组成的条目 我所有关于删除它的知识都会返回: “*”附近的语法不正确 或 将varchar值“*-/”转换为数据类型时,转换失败 内部的 还有一个命令,删除所有不属于我的集合的内容 eg;id不是(1,2,3,4)我猜您的列stid是一种文本数据类型(text、ntext、nvarchar等),但其中有一堆看起来像数字的文本,不管出于什么原因,SQL Server都会看到这些值并为您进行隐式转换,然后失败。试试这个 DELETE st210

不知何故,我在我的表中输入了一个由“*-/”组成的条目

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

“*”附近的语法不正确

将varchar值“*-/”转换为数据类型时,转换失败 内部的

还有一个命令,删除所有不属于我的集合的内容


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) = '*-/'