Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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 - Fatal编程技术网

使用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

您知道如何在查询中一次删除以下类型的字符吗

注意:。我正在从Access应用程序检索此数据,并仅将有效数据放入SQL

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行?我们是要继续猜测您的业务逻辑,还是您可以与我们分享它?旁注:这是
垃圾输入垃圾输出的一个极好的例子,也是为什么您总是要提前验证输入的原因。