問題:
文字列の最初と最後からスペースまたは特定の文字を削除したい。
例:
データベースには、company 2列のデータ:id およびname 。
| id | 名前 |
|---|---|
| 1 | 'スーパーマーケット' |
| 2 | 「グリーンショップ」 |
| 3 | 'モダンブックショップ' |
各会社の名前を削除して、最初と最後の不要なスペースを削除しましょう。
解決策:
TRIMを使用します 働き。作成するクエリは次のとおりです。
SELECT TRIM(' ' FROM name) AS new_name
FROM company;
または、FROMなしで短いバージョンを使用することもできます 削除する文字としてのキーワードとスペース。デフォルトでは、TRIM これは、TRIM関数の引数の特定の列または式に格納されている文字列からスペースを削除するものとして扱われます。
SELECT TRIM(name) AS new_name FROM company;
両方のクエリの結果は次のとおりです。
| new_name |
|---|
| 「スーパーマーケット」 |
| 「グリーンショップ」 |
| 「モダンブックショップ」 |
ディスカッション:
TRIMを使用する テーブル内の文字列をトリミングする場合に機能します。この関数を使用すると、文字列の最初と最後から特定の文字を削除できます。この関数は次の引数を取ります:
- 文字列からトリミングする文字。デフォルトではスペースです。
-
FROMキーワードの後に、トリミングする文字列列の名前が続きます。
この例では、次のようになります。
TRIM(' ' FROM name)
T-SQLでは、文字列の最初または最後からのみ別の文字のスペースを削除することもできます。
以下の例では、RTRIM()関数を使用して、各会社の最後のスペースを削除しています。
SELECT RTRIM(name) AS new_name FROM company;
| new_name |
|---|
| 'スーパーマーケット' |
| 「グリーンショップ」 |
| 'モダンブックショップ' |
ただし、LTRIMを使用する場合は、最初にスペースをトリミングするためにも使用できます。 代わりに機能する:
SELECT LTRIM(name) AS new_name FROM company;
クエリはnameを返します 最後にスペースのない列。最初のスペースは変更されていないことに注意してください。
| new_name |
|---|
| 「スーパーマーケット」 |
| 「グリーンショップ」 |
| 「モダンブックショップ」 |