sql >> データベース >  >> RDS >> Mysql

MySQL:文字列から2つ以上のスペースを削除する方法は?

    これは、正規表現や複雑な関数を必要としない古いトリックです。

    次のように、置換機能を3回使用して、任意の数のスペースを処理できます。

    REPLACE('This is    my   long    string',' ','<>')
    

    になる:

    This<>is<><><><>my<><><>long<><><><>string
    

    次に、'> <'のすべての出現箇所を、別の置換でラップすることにより、空の文字列''に置き換えます。

    REPLACE(
      REPLACE('This is    my   long    string',' ','<>'),
        '><',''
    )
    
    This<>is<>my<>long<>string
    

    そして最後に最後の置換で「<>」を単一のスペースに変換します

    REPLACE(
      REPLACE(
        REPLACE('This is    my   long    string',
          ' ','<>'),
        '><',''),
      '<>',' ')
    
    This is my long string
    

    この例はMYSQL(SELECTを前に置く)で作成されましたが、多くの言語で機能します。

    置換される任意の数の文字を処理するために必要なのは、3つの置換関数だけであることに注意してください。



    1. PostgreSQL、SQL状態:42601

    2. CSVファイルのカンマと二重引用符を同時にエスケープするにはどうすればよいですか?

    3. 特定のtable.columnを参照し、それらの外部キーの値を持つ外部キーを持つすべてのテーブルを見つけるにはどうすればよいですか?

    4. MySQLがいくつかの外部キーを削除する