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

SQLiteクエリ結果をコンマ区切りのリストとしてフォーマットする

    SQLiteには、クエリ結果をコンマ区切りのリストとして出力できるようにするいくつかのモードと設定があります。

    たとえば、.separatorを使用できます 区切り文字としてコンマを指定するdotコマンド。または、「quote」モードを使用して、出力を文字列リテラルとしてフォーマットすることもできます。

    ただし、この記事では、csvを使用します。 modeは、結果をコンマ区切りのリストとしてフォーマットし、文字列を二重引用符で囲みます。内部の二重引用符は二重引用符で囲まれています。

    この例では、csvに切り替えます モードにして、データベースからデータを選択します。

    .mode csv
    SELECT * FROM Products;

    結果:

    1,"Widget Holder",139.5
    2,"Widget Opener",89.7
    3,"Bob's ""Best"" Widget",374.2
    4,"Blue Widget",63.0

    内部の二重引用符は二重引用符で囲まれていますが、内部の単一引用符はそうではありませんでした。

    SQLiteのデフォルトモード(パイプで区切られたリスト)と比較してこれを確認したい場合は、ここではそのモードを使用しています。

    .mode list
    SELECT * FROM Products;

    結果:

    1|Widget Holder|139.5
    2|Widget Opener|89.7
    3|Bob's "Best" Widget|374.2
    4|Blue Widget|63.0

    列ヘッダーの追加

    .headers onを使用して、列ヘッダー(列名)を追加することもできます。 。

    .headers on
    .mode csv
    SELECT * FROM Products;

    結果:

    ProductId,ProductName,Price
    1,"Widget Holder",139.5
    2,"Widget Opener",89.7
    3,"Bob's ""Best"" Widget",374.2
    4,"Blue Widget",63.0

    ヘッダーを削除する場合は、.headers offを使用できます 。

    設定を保存

    このようにモードを設定すると、現在のセッションにのみ設定されます。 SQLiteへの新しい接続を開くと、デフォルト設定に戻ります。

    SQLiteに接続するたびにモードを変更し続ける必要がないように設定を保持したい場合は、設定を .sqlitercに保存できます。 ファイル。

    これを行うには、空白のテキストファイルに次のように入力します。

    .headers on
    .mode csv

    次に、それを .sqlitercとして保存します ホームディレクトリにあります。

    これで、SQLiteコマンドラインシェルを使用すると、最初に .sqlitercがチェックされます。 任意の設定のファイル。

    GROUP_CONCAT() 機能

    または、Group_Concat()を使用することもできます SQLクエリ自体の中からクエリ結果をコンマ区切りのリストに変換する関数。


    1. SQLServerで2つの日付の間のすべての日付を取得する

    2. SQL Serverのvarcharまたはcharフィールドで許可されているすべての特殊文字を確認するにはどうすればよいですか?

    3. AnySQLMaestroをSalesforce.comに接続する

    4. データベースメールアカウントをプロファイルに追加する(T-SQL)