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

MySQLで文字列からスペースを削除する方法

    問題:

    SQLクエリの結果を昇順または降順で並べ替えます。

    例:

    私たちのデータベースには、customer_information id列にデータがあります 、first_namelast_name 、およびemail_address 。メールアドレスはユーザーが手動で入力したもので、誤って不要なスペースを入力してしまったものもあります。メールアドレスからスペースを削除したい。

    id first_name last_name email_address
    1 カルバン リオス [email protected]
    2 アラン パターソン al an.paterson @ example.com
    3 カート エバンス [email protected]
    4 アレックス ワトキンス alex。 [email protected]

    解決策:

    REPLACEを使用します 働き。クエリは次のとおりです:

    	SELECT
    		first_name,
    		last_name,
    		REPLACE(email_address, " ", "") AS correct_email_address
    	FROM customer_information;
    

    クエリの結果は次のとおりです。

    first_name last_name email_address
    Calvin リオス [email protected]
    アラン パターソン [email protected]
    カート エバンス [email protected]
    アレックス ワトキンス [email protected]

    ディスカッション:

    REPLACEを使用する 特定の文字列内のすべての部分文字列を置き換える場合に機能します。この例では、不要なスペースを空の値に置き換えます。

    この関数は3つの引数を取ります。次に、関数の構文を示します。

    REPLACE(string_expression, substring, new_substring)
    

    最初の引数は、変更する文字列です。 2番目の引数は置換される部分文字列であり、3番目の引数は置換された部分文字列の代わりに使用する文字列です。この例では不要なスペースを削除していますが、この関数はさまざまな目的に使用できます。たとえば、電話番号の列を整理して標準化することができます。 REPLACEを使用できます そうするための機能。

    特定の文字列から複数の文字を削除する場合は、REPLACEをネストするだけです。 2回目の機能。たとえば、不要なスペースとダッシュを含む文字列がある場合は、次の構文を使用できます。

    	REPLACE(REPLACE(string_expression, " ", ""), "-", "")
    

    MySQLのこの関数の引数では大文字と小文字が区別されるため、文字に注意してください。


    1. Ubuntu 9.04(Jaunty)でMySQLリレーショナルデータベースを使用する

    2. UPDLOCK、HOLDLOCKについて混乱している

    3. データソースを構成せずにODBCリンクサーバーを作成する

    4. PHPの日付をmysql形式に変換します