SQLの記述方法

基本的な文法

SmoothCSVは内部でH2 Database Engineを使用しています。したがって、基本的な文法はH2 Databaseのものと同じです。
なお、実行できるSQLはSELECT文のみです。

FROM句について

SmoothCSVでは、SQLのFROM句に、SmoothCSVで編集中のシートまたはファイルシステム上に存在するCSVファイルを指定することができます。

・SmoothCSVで編集中のシート→「CSVTABLE([タブ名], [インデックス])」
 (※インデックスは省略可。同じ名前のタブが複数あった場合に、[インデックス]に番号を指定します。)

例:「sample.csv」という名前のタブのうち、一番左から数えて2番目のタブからSELECT
SELECT * FROM CSVTABLE('sample.csv', 2);

・ファイルシステム上に存在するCSVファイル→「"[ファイルパス]"」

例:Cドライブ直下のsample.csvからSELECT
SELECT * FROM "C:\sample.csv";

ただし、列名を装飾する際にはこれらのテーブル名は使用することができません。テーブルに別名をつけてください。

NG:
SELECT "C:\sample.csv".column1 FROM "C:\sample.csv";
OK:
SELECT t1.column1 FROM "C:\sample.csv" AS t1;

列名について

1行目をヘッダーとして利用する場合には、ヘッダー名を列名として利用することができます。
ヘッダーがない場合は、列番号を列名として使用できます(※列番号は一番左が1です)。
列名は大文字、小文字を区別しません。

例:
SELECT "1","2" FROM "C:\sample.csv";  /* 列番号は「"」で囲むこと */

データ型について

SmoothCSVではすべての値を文字列として扱います。数値として利用したい場合はキャストしてください。