Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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
如果一个列字段超过2个字,如何在mysql中删除?_Mysql_Sql - Fatal编程技术网

如果一个列字段超过2个字,如何在mysql中删除?

如果一个列字段超过2个字,如何在mysql中删除?,mysql,sql,Mysql,Sql,很难解释,但假设我有一个表,其中有一列名为NAME,包含名称和姓氏以及公司名称 为了消除公司名称,如果该字段不是由两部分组成的字符串名称姓氏组成(即,其中包含两个以上的单词),我希望删除所有行 表列示例: ID-Name-Someothercolumns 该名称可能同时包含名字和姓氏和/或有时包含公司名称,如JT贸易公司 由于人名包含2个部分(aaaa bbbbb),我想使用此逻辑从删除中仅筛选人名而不是公司。您可以选择名称中包含两个以上单词的行。这将拾取任何看起来不是人的东西 它不考虑公司名称

很难解释,但假设我有一个表,其中有一列名为NAME,包含名称和姓氏以及公司名称

为了消除公司名称,如果该字段不是由两部分组成的字符串名称姓氏组成(即,其中包含两个以上的单词),我希望删除所有行

表列示例:

ID-Name-Someothercolumns

该名称可能同时包含名字和姓氏和/或有时包含公司名称,如JT贸易公司


由于人名包含2个部分(aaaa bbbbb),我想使用此逻辑从删除中仅筛选人名而不是公司。

您可以选择名称中包含两个以上单词的行。这将拾取任何看起来不是人的东西

它不考虑公司名称是唯一输入的内容,长度为1或2个单词的情况。它也可能不考虑同时存储此人中间名(即3个单词长度)的情况,以及可能输入不带连字符的双筒姓氏(如Isaac Forsyth Mimsy)

使用一些通用术语作为问题中未充分解释的数据结构:

DELETE #DONT# FROM Table
WHERE (    
ROUND (   
    (
        CHAR_LENGTH(LTRIM(RTRIM(Name)))
        - CHAR_LENGTH( REPLACE ( Name, " ", "") ) 
    ) / CHAR_LENGTH(" ")        
) > 1

我没有仔细考虑就将“停止人员复制粘贴的承诺”包括在内。

您能添加示例表数据,并解释要删除哪些行吗?@CecilioPardo给出了正确答案。我不知道它为什么被删除。你可以通过它们之间的空格定义一个字符串,这样你就可以像在这个答案()中一样搜索该字符的出现。只是别忘了事先修剪()字段以删除前面和结尾的空格。然后,您可以添加一个HAVING语句,其中Ct>1。您好,示例如下:ID-Name-etc。现在,此名称包含人名和surnme,有时还包含DDT retail center等公司名。
如果一个列字段包含两个以上的字符串?
您会混淆字符串(可能包含空格和其他分隔符)用语言。