使用SQL查询删除不必要的字符
您知道如何在查询中一次删除以下类型的字符吗 注意:。我正在从Access应用程序检索此数据,并仅将有效数据放入SQL使用SQL查询删除不必要的字符,sql,sql-server,Sql,Sql Server,您知道如何在查询中一次删除以下类型的字符吗 注意:。我正在从Access应用程序检索此数据,并仅将有效数据放入SQL select DISTINCT ltrim(rtrim(a.Company)) from [Legacy].[dbo].[Attorney] as a 此列是公司名称列。我只需要保留字符串。但我需要删除仅数字行、数字和字符行、空、空以及所有其他+、- 这应选择要删除的行: where company not like '%[a-zA-Z]%' and -- has at l
select DISTINCT ltrim(rtrim(a.Company)) from [Legacy].[dbo].[Attorney] as a
此列是公司名称
列。我只需要保留字符串
。但我需要删除仅数字行、数字和字符行、空、空以及所有其他+、-
这应选择要删除的行:
where company not like '%[a-zA-Z]%' and -- has at least one vowel
company like '%[^ a-zA-Z0-9.&]%' -- has a not-allowed character
第二个表达式中允许的字符列表可能不完整
如果这是可行的,那么你可以很容易地将其修改为一个
删除语句。基于你极其模糊的“规则”,我将做一个猜测
也许这样的事情就在附近
select DISTINCT ltrim(rtrim(a.Company))
from [Legacy].[dbo].[Attorney] as a
where LEN(ltrim(rtrim(a.Company))) > 1
and IsNumeric(a.Company) = 0
这将排除不超过2个字符且无法转换为数字的条目。什么是不需要的13401不需要,但需要1115
?定义“以下字符类型”是否有模式???@Nicarus此列为公司名称
列。有数字和字符很好。但我只需要删除数字。您在这里呆了足够长的时间,知道这个问题缺乏足够的信息来给您一个可靠的答案。如果您只想删除数字,为什么要删除第2、3、4、5和7行?我们是要继续猜测您的业务逻辑,还是您可以与我们分享它?旁注:这是垃圾输入垃圾输出的一个极好的例子,也是为什么您总是要提前验证输入的原因。