【问题标题】:SQL remove "-" in all columnSQL删除所有列中的“-”
【发布时间】:2013-06-14 11:05:58
【问题描述】:

我有一张桌子 Destinataire。不幸的是,客户在他们的数据中输入了符号“-”。

当我选择它们时:

SELECT [CODE_DEST]
      ,[NO_CLIENT]
      ,[RS_NOM]
      ,[ADRESSE]
      ,[CP]
      ,[VILLE]
      ,[INSEE]
      ,[TEL]
      ,[PAYS]
      ,[FAX]
      ,[SIRET]
      ,[EMAIL]
  FROM [Soft8Exp_Client_WEB].[dbo].[DESTINATAIRE]
  WHERE code_dest like '%-%' or RS_NOM like '%-%' or ADRESSE like '%-%' or VILLE  like '%-%'

大约有700个元素,需要时间一一更改。

如何更新所有包含“-”的元素? 示例:MALLET-LIMOUZIN SARL 成为 MALLET LIMOUZIN SARL 和 BP 325 - 14 AVENUE MICHELET 成为 BP 325 14 AVENUE MICHELET

我只想将所有“-”替换为“”。

【问题讨论】:

  • 看看REPLACE from SQL,这是一篇great的文章。
  • 您要更新此表的一列或所有列??

标签: sql database replace


【解决方案1】:

您可以使用Replace() command

查询将类似于

update [Soft8Exp_Client_WEB].[dbo].[DESTINATAIRE]
set column = replace(column, '-', ' '),
    otherColumn = replace(otherColumn, '-', ' ')

【讨论】:

    【解决方案2】:

    根据客户端将来如何更新数据以及您将如何使用它,可能值得创建一个包含上述 REPLACE 语句的 SQL 视图。然后,您可以将其用作数据源,并避免将来在数据中使用“-”。

    【讨论】:

      【解决方案3】:

      尝试使用Replace:

      UPDATE DESTINATAIRE
      SET FIELD = REPLACE (FIELD , '-' , '')
      

      其中 field 是您要替换的字段。

      UPDATE DESTINATAIRE
      SET code_dest = REPLACE (code_dest , '-' , '')
      , RS_NOM = REPLACE (RS_NOM , '-' , '')
      , ADRESSE = REPLACE (ADRESSE , '-' , '')
      , VILLE = REPLACE (VILLE , '-' , '')
      

      【讨论】:

        【解决方案4】:
        UPDATE [table]
        SET [column] = REPLACE([column], '-', ' ')
        

        【讨论】:

          【解决方案5】:
          update [Soft8Exp_Client_WEB].[dbo].[DESTINATAIRE]
          set code_dest = replace(code_dest,'-',' '),
              column2 = replace(column2,'-',' '),
              .....
          

          【讨论】:

            猜你喜欢
            • 2020-04-17
            • 1970-01-01
            • 2015-03-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多