問題:
SQLクエリの結果を昇順または降順で並べ替えます。
例:
私たちのデータベースには、customer_information id列にデータがあります 、first_name 、last_name 、およびemail_address 。メールアドレスはユーザーが手動で入力したもので、誤って不要なスペースを入力してしまったものもあります。メールアドレスからスペースを削除したい。
| id | first_name | last_name | email_address |
|---|---|---|---|
| 1 | カルバン | リオス | rios.calvin@example.com |
| 2 | アラン | パターソン | al an.paterson @ example.com |
| 3 | カート | エバンス | kurt.evans@example.com |
| 4 | アレックス | ワトキンス | alex。 watkins@example.com |
解決策:
REPLACEを使用します 働き。クエリは次のとおりです:
SELECT first_name, last_name, REPLACE(email_address, " ", "") AS correct_email_address FROM customer_information;
クエリの結果は次のとおりです。
| first_name | last_name | email_address |
|---|---|---|
| Calvin | リオス | rios.calvin@example.com |
| アラン | パターソン | alan.paterson@example.com |
| カート | エバンス | kurt.evans@example.com |
| アレックス | ワトキンス | alex.watkins@example.com |
ディスカッション:
REPLACEを使用する 特定の文字列内のすべての部分文字列を置き換える場合に機能します。この例では、不要なスペースを空の値に置き換えます。
この関数は3つの引数を取ります。次に、関数の構文を示します。
REPLACE(string_expression, substring, new_substring)
最初の引数は、変更する文字列です。 2番目の引数は置換される部分文字列であり、3番目の引数は置換された部分文字列の代わりに使用する文字列です。この例では不要なスペースを削除していますが、この関数はさまざまな目的に使用できます。たとえば、電話番号の列を整理して標準化することができます。 REPLACEを使用できます そうするための機能。
特定の文字列から複数の文字を削除する場合は、REPLACEをネストするだけです。 2回目の機能。たとえば、不要なスペースとダッシュを含む文字列がある場合は、次の構文を使用できます。
REPLACE(REPLACE(string_expression, " ", ""), "-", "")
MySQLのこの関数の引数では大文字と小文字が区別されるため、文字に注意してください。