TO_DATE(Lakehouse v1)
式を日付に変換します。変換の種類は次のとおりです。
-
タイムスタンプ形式の文字列を日付に変換する:指定した文字列から日付を抽出します。
-
整数を日付に変換する:整数を、Unix エポック(1970 年 1 月 1 日の午前 0 時)より前(負の数の場合)または後(正の数の場合)の日数として解釈します。Date 値の範囲は
1000-01-01から9999-12-31までです。「SELECT TO_DATE(9999999999999999999)」を実行すると、PlaidCloud Lakehouse はエラーを返します。 -
指定した書式を使用して文字列を日付に変換する:この関数は 2 つの引数を取り、最初の文字列を、2 番目の文字列で指定した書式に基づいて日付に変換します。PlaidCloud Lakehouse で日付と時刻の書式をカスタマイズするには、指定子を使用できます。サポートされている指定子の一覧については、「日付と時刻の書式設定」を参照してください。
日付の書式は strftime 仕様で表現されます。クイックリファレンスを参照してください。
関連項目:TO_TIMESTAMP
Strftime パラメーター
Section titled “Strftime パラメーター”クイックリファレンス
Section titled “クイックリファレンス”| 例 | 出力 |
|---|---|
%m/%d/%Y |
06/05/2013 |
%A, %B %e, %Y |
Sunday, June 5, 2013 |
%b %e %a |
Jun 5 Sun |
| 例 | 出力 |
|---|---|
%H:%M |
23:05 |
%I:%M %p |
11:05 PM |
| 記号 | 例 | 対象 |
|---|---|---|
%a |
Sun |
曜日 |
%A |
Sunday |
|
%w |
0..6 (日曜日が 0) |
|
| — | — | — |
%y |
13 |
年 |
%Y |
2013 |
|
| — | — | — |
%b |
Jan |
月 |
%B |
January |
|
%m |
01..12 |
|
| — | — | — |
%d |
01..31 |
日 |
%e |
1..31 |
| 記号 | 例 | 対象 |
|---|---|---|
%l |
1 |
時 |
%H |
00..23 |
24 時間制の時 |
%I |
01..12 |
12 時間制の時 |
| – | — | — |
%M |
00..59 |
分 |
%S |
00..60 |
秒 |
| — | — | — |
%p |
AM |
AM または PM |
%Z |
+08 |
タイムゾーン |
| — | — | — |
%j |
001..366 |
年内通算日 |
%% |
% |
リテラルの % 文字 |
Analyze 構文
Section titled “Analyze 構文”func.to_date('<timestamp_expr>')func.to_date(<integer>)func.to_date('<string>', '<format>')Analyze の例
Section titled “Analyze の例”func.typeof(func.to_date('2022-01-02')), func.typeof(func.str_to_date('2022-01-02'))
┌───────────────────────────────────────────────────────────────────────────────────────┐│ func.typeof(func.to_date('2022-01-02')) │ func.typeof(func.str_to_date('2022-01-02')) │├─────────────────────────────────────────┼─────────────────────────────────────────────┤│ DATE │ DATE │└───────────────────────────────────────────────────────────────────────────────────────┘SQL 構文
Section titled “SQL 構文”-- Convert a timestamp-format stringTO_DATE('<timestamp_expr>')
-- Convert an integerTO_DATE(<integer>)
-- Convert a string using the given formatTO_DATE('<string>', '<format>')この関数は、「YYYY-MM-DD」形式の日付を返します。
SELECT TYPEOF(TO_DATE('2022-01-02')), TYPEOF(STR_TO_DATE('2022-01-02'));
┌───────────────────────────────────────────────────────────────────┐│ typeof(to_date('2022-01-02')) │ typeof(str_to_date('2022-01-02')) │├───────────────────────────────┼───────────────────────────────────┤│ DATE │ DATE │└───────────────────────────────────────────────────────────────────┘返された日付を文字列に戻すには、DATE_FORMAT 関数を使用します。
SELECT DATE_FORMAT(TO_DATE('2022-01-02')) AS dt, TYPEOF(dt);
┌─────────────────────────┐│ dt │ typeof(dt) │├────────────┼────────────┤│ 2022-01-02 │ VARCHAR │└─────────────────────────┘SQL の例
Section titled “SQL の例”SQL の例 1:タイムスタンプ形式の文字列の変換
Section titled “SQL の例 1:タイムスタンプ形式の文字列の変換”SELECT TO_DATE('2022-01-02T01:12:00+07:00'), STR_TO_DATE('2022-01-02T01:12:00+07:00');
┌─────────────────────────────────────────────────────────────────────────────────┐│ to_date('2022-01-02t01:12:00+07:00') │ str_to_date('2022-01-02t01:12:00+07:00') │├──────────────────────────────────────┼──────────────────────────────────────────┤│ 2022-01-01 │ 2022-01-01 │└─────────────────────────────────────────────────────────────────────────────────┘
SELECT TO_DATE('2022-01-02'), STR_TO_DATE('2022-01-02');
┌───────────────────────────────────────────────────┐│ to_date('2022-01-02') │ str_to_date('2022-01-02') │├───────────────────────┼───────────────────────────┤│ 2022-01-02 │ 2022-01-02 │└───────────────────────────────────────────────────┘SQL の例 2:整数の変換
Section titled “SQL の例 2:整数の変換”SELECT TO_DATE(1), STR_TO_DATE(1), TO_DATE(-1), STR_TO_DATE(-1);
┌───────────────────────────────────────────────────────────────────┐│ to_date(1) │ str_to_date(1) │ to_date((- 1)) │ str_to_date((- 1)) ││ Date │ Date │ Date │ Date │├────────────┼────────────────┼────────────────┼────────────────────┤│ 1970-01-02 │ 1970-01-02 │ 1969-12-31 │ 1969-12-31 │└───────────────────────────────────────────────────────────────────┘SQL の例 3:指定した書式を使用した文字列の変換
Section titled “SQL の例 3:指定した書式を使用した文字列の変換”SELECT TO_DATE('12/25/2022','%m/%d/%Y'), STR_TO_DATE('12/25/2022','%m/%d/%Y');
┌───────────────────────────────────────────────────────────────────────────┐│ to_date('12/25/2022', '%m/%d/%y') │ str_to_date('12/25/2022', '%m/%d/%y') │├───────────────────────────────────┼───────────────────────────────────────┤│ 2022-12-25 │ 2022-12-25 │└───────────────────────────────────────────────────────────────────────────┘