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

SQLiteで文字列をトリミングする方法

    問題:

    SQLiteの文字列の最初と最後からスペースまたは特定の文字を削除したい。

    例:

    私たちのデータベースには、category 2列のデータ:id およびname

    id 名前
    1 'お菓子'
    2 '肉'
    3 '野菜'

    商品の各カテゴリの名前を削除して、最初と最後の不要なスペースを削除しましょう。

    解決策:

    TRIMを使用します 働き。作成するクエリは次のとおりです。

    SELECT TRIM(' ', name) AS new_name
    FROM category;
    

    削除する文字はオプションであることに注意してください。スペース文字を削除する場合は、列の名前を指定するだけです。

    SELECT TRIM(name) AS new_name
    FROM category;
    

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

    new_name
    'お菓子'
    '肉'
    「野菜」

    ディスカッション:

    TRIMを使用する テーブル内の文字列をトリミングする場合は、SQLiteデータベースで機能します。この関数を使用すると、文字列の先頭または末尾、あるいはその両方から特定の文字を削除できます。次の引数を取ります:

    • 文字列からトリミングする文字。デフォルトではスペースです。
    • トリミングする文字列列の名前。

    この例では、次のようになります。

    TRIM(' ' , name)
    

    SQLiteでは、文字列の最初または最後からのみスペースやその他の文字を削除することもできます。

    次の例では、RTRIM()を使用して、各カテゴリ名の末尾からスペースを削除しています。 機能:

    SELECT RTRIM(name) AS new_name
    FROM company;
    
    new_name
    'お菓子'
    '肉'
    '野菜'

    TRIM()のように 、RTRIM() 関数は2つの引数を取ります。削除する文字とトリミングする文字列です。繰り返しますが、トリミングする文字がスペースの場合は、列の名前を指定するだけです。

    文字列の先頭から文字を削除し、末尾からは削除しない場合は、LTRIM()を使用します。 機能:

    SELECT LTRIM(name) AS new_name
    FROM company;
    

    もちろん、この関数は、削除する文字とトリミングする文字列の2つの引数で使用できます。

    上記のクエリは、先頭にスペースを含まない名前列を返します:

    new_name
    'お菓子'
    '肉'
    「野菜」

    1. 全文検索でのヒットハイライト

    2. sqliteで外部キーを使用する方法は?

    3. EXCEPTがPostgreSQLでどのように機能するか

    4. PostgreSQL DESCRIBE TABLE