問題:
文字列の最初と最後から特定の文字を削除したい。
例:
私たちのデータベースには、post
2列のデータ:id
およびtitle
。
id | タイトル |
---|---|
1 | '犬に関するニュース' |
3 | 「ユーロビジョン2019」 |
4 | 「新しい政治情勢」 |
各投稿のタイトルをトリミングして、最初と最後の不要なスペースを削除しましょう。
解決策:
TRIM
を使用します 働き。作成するクエリは次のとおりです。
SELECT TRIM( BOTH ' ' FROM title ) as new_title FROM post;
または、BOTH
なしで短いバージョンを使用することもできます キーワード;デフォルトでは、TRIM
これは両方の操作として扱われます。
SELECT TRIM(' ' FROM title ) as new_title FROM post;
両方のクエリの結果は次のとおりです。
new_title |
---|
「犬に関するニュース」 |
「Eurovision2019」 |
「新しい政治情勢」 |
ディスカッション:
TRIM
を使用する テーブル内の文字列をトリミングする場合に機能します。この関数を使用すると、文字列の先頭または末尾、あるいは両端から特定の文字を削除できます。この関数は次の引数を取ります:
- トリミングする端を指定するキーワード(オプション-
BOTH
デフォルト)。 - 文字列からトリミングする文字。
-
FROM
キーワードの後に、トリミングする文字列列の名前が続きます。
この例では、次のようになります。
TRIM( BOTH ' ' FROM title )
上記のように、TRIM
最初の引数として他のキーワードを取ることができます。両端からのトリミングに加えて、文字列の最後または最初からのみ文字を削除できます:
TRAILING
(最後から削除)-
LEADING
(最初から削除)
次の例では、各タイトルの最後のスペースを削除しています(ただし、LEADING
を使用すると、最初のスペースをトリミングするためにも使用できます。 代わりにキーワード):
SELECT TRIM( TRAILING ' ' FROM title ) as new_title FROM post;
クエリはtitle
を返します 最後にスペースのない列。最初のスペースは変更されていないことに注意してください。
new_title |
---|
「犬に関するニュース」 |
「Eurovision2019」 |
「新しい政治情勢」 |