很难解释但是我可以说我有一个名为NAME的列表,其中包含姓名和公司名称。
为了消除公司名称,我想删除所有行,如果该字段不是由2部分字符串命名姓氏(即其中包含2个以上的单词)
表colums的示例:
ID - 名称 - Someothercolumns
该名称可能包含名字和姓氏和/或有时候公司名称,如JT trading inc
由于人名包含2个部分(aaaa bbbbb),我正在考虑使用此逻辑从删除中仅过滤人名而不是公司。
答案 0 :(得分:1)
您可以选择名称中包含两个以上单词的行。这会收集任何看起来不是人的东西。
它并不考虑公司名称是唯一输入的内容,长度为1或2个字的情况。它也可能没有考虑到人的中间名也被存储的情况(即长度为3个单词)以及可能没有连字符的双桶姓氏(如Isaac Forsyth Mimsy)
在问题中未充分说明使用某些通用术语作为数据结构:
DELETE #DONT# FROM Table
WHERE (
ROUND (
(
CHAR_LENGTH(LTRIM(RTRIM(Name)))
- CHAR_LENGTH( REPLACE ( Name, " ", "") )
) / CHAR_LENGTH(" ")
) > 1
我没有包含COMMIT来阻止人们在不经过考虑的情况下复制粘贴。