Europe/Amsterdam のような省略可能な time zone 引数を指定できます。この場合、time zone にはローカル (デフォルト) ではなく、指定したものが使用されます。
例
SQL標準との互換性のため、次の関数
NOW、CURRENT_TIMESTAMP、TODAY、CURRENT_DATE は、括弧を付けずに使用できます。UTCTimestamp
now('UTC') と同じ結果を返します。追加されたのは MySQL サポートのためだけです。推奨される使用方法は now です。
構文
UTC_timestamp
引数
- なし。
DateTime
例
現在の UTC タイムスタンプを取得
Query
Response
YYYYMMDDToDate
Date に変換します。
この関数は、toYYYYMMDD() 関数の逆です。
入力が有効な Date 値を表していない場合、出力は未定義です。
構文
Date 型の値を返します Date
例
例
Query
Response
YYYYMMDDToDate32
Date32 に変換します。
この関数は、toYYYYMMDD() 関数の逆です。
入力が有効な Date32 値を表していない場合、出力は未定義です。
構文
Date32 型の値を返します Date32
例
例
Query
Response
YYYYMMDDhhmmssToDateTime
DateTime に変換します。
この関数は、toYYYYMMDDhhmmss() 関数の逆です。
入力が有効な DateTime 値を表していない場合、出力は未定義です。
構文
DateTime 値を返します。DateTime
例
例
Query
Response
YYYYMMDDhhmmssToDateTime64
DateTime64 に変換します。
この関数は toYYYYMMDDhhmmss() 関数の逆です。
入力が有効な DateTime64 値を表していない場合、出力は未定義です。
構文
YYYYMMDDhhmmss— 年、月、日、時、分、秒を含む数値。(U)Int*またはFloat*またはDecimalprecision— 小数部の精度 (0~9) 。UInt8timezone— タイムゾーン名。String
DateTime64 型の値を返します。DateTime64
例
例
Query
Response
addDate
datetime—intervalを加算する日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringinterval— 加算する間隔。Interval
datetime に interval を加算して得られる日付または日時を返します。Date または Date32 または DateTime または DateTime64
例
日付に interval を加算
Query
Response
addDays
datetime— 指定した日数を加算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 加算する日数。(U)Int*またはFloat*
datetime に num 日を加算した値を返します。Date または Date32 または DateTime または DateTime64
例
異なる日付型に日数を加算する
Query
Response
Query
Response
addHours
datetime— 指定した時間数を加算する日付または日時。DateorDate32orDateTimeorDateTime64orStringnum— 加算する時間数。(U)Int*orFloat*
datetime に num 時間を加算した値を返します DateTime or DateTime64(3)
例
異なる日付型に時間を加算する
Query
Response
Query
Response
addInterval
同じ型のインターバルは 1 つのインターバルにまとめられます。たとえば、
toIntervalDay(1) と toIntervalDay(2) を渡した場合、結果は (1,1) ではなく (3) になります。interval_1— 最初のインターバル、または複数のインターバルからなるタプルです。IntervalまたはTuple(Interval)interval_2— 加算対象の 2 番目のインターバルです。Interval
Tuple(Interval) を返します
例
インターバルの加算
Query
Response
addMicroseconds
datetime— 指定したマイクロ秒数を加算する日時。DateTimeまたはDateTime64またはStringnum— 加算するマイクロ秒数。(U)Int*またはFloat*
date_time に num マイクロ秒を加算した値を返します。 DateTime64
例
異なる日時型にマイクロ秒を加算する
Query
Response
Query
Response
addMilliseconds
datetime— 指定したミリ秒数を加算する日時。DateTimeまたはDateTime64またはStringnum— 加算するミリ秒数。(U)Int*またはFloat*
datetime に num ミリ秒を加算した値。DateTime64
例
異なる日時型にミリ秒を加算する
Query
Response
Query
Response
addMinutes
datetime— 指定した分を加算する対象の日時または日付。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 加算する分数。(U)Int*またはFloat*
datetime に num 分を加算した値を返します。DateTime または DateTime64(3)
例
異なる日付型に分を加算する
Query
Response
Query
Response
addMonths
datetime— 指定した月数を加算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 加算する月数。(U)Int*またはFloat*
datetime に num か月を加算した値を返します。Date または Date32 または DateTime または DateTime64
例
さまざまな日付型に月を加算する
Query
Response
Query
Response
addNanoseconds
datetime— 指定したナノ秒数を加算する対象の日時。DateTimeまたはDateTime64またはStringnum— 加算するナノ秒数。(U)Int*またはFloat*
datetime に num ナノ秒を加算した値を返します。 DateTime64
例
さまざまな日時型にナノ秒を加算する
Query
Response
Query
Response
addQuarters
datetime— 指定した四半期数を加算する日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 加算する四半期数。(U)Int*またはFloat*
datetime に num 四半期を加算した値を返します。Date または Date32 または DateTime または DateTime64
例
異なる日付型に四半期を加算する
Query
Response
Query
Response
addSeconds
datetime— 指定した秒数を加算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 加算する秒数。(U)Int*またはFloat*
datetime に num 秒を加算した値を返します。DateTime または DateTime64(3)
例
異なる日付型に秒を加算する
Query
Response
Query
Response
addTupleOfIntervals
datetime— インターバルを加算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64intervals—datetimeに加算するインターバルの Tuple。Tuple(Interval)
intervals を加算した date を返します。Date または Date32 または DateTime または DateTime64
例
日付にインターバルの Tuple を加算する
Query
Response
addWeeks
datetime— 指定した週数を加算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 加算する週数。(U)Int*またはFloat*
datetime に num 週を加算した値を返します。Date または Date32 または DateTime または DateTime64
例
さまざまな日付型に週を加算
Query
Response
Query
Response
addYears
datetime— 指定した年数を加算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 加算する年数。(U)Int*またはFloat*
datetime に num 年を加算した値。Date または Date32 または DateTime または DateTime64
例
異なる日付型に年を加算する
Query
Response
Query
Response
age
startdate と enddate の差における、指定した単位の部分を返します。
差は 1 ナノ秒の精度で計算されます。
たとえば、2021-12-29 と 2022-01-01 の差は、day 単位では 3 日、
month 単位では 0 か月、year 単位では 0 年です。
age の代替としては、関数 dateDiff を参照してください。
構文
unit— 結果の interval の種類。
| Unit | 設定可能な値 |
|---|---|
| nanosecond | nanosecond, nanoseconds, ns |
| microsecond | microsecond, microseconds, us, u |
| millisecond | millisecond, milliseconds, ms |
| second | second, seconds, ss, s |
| minute | minute, minutes, mi, n |
| hour | hour, hours, hh, h |
| day | day, days, dd, d |
| week | week, weeks, wk, ww |
| month | month, months, mm, m |
| quarter | quarter, quarters, qq, q |
| year | year, years, yyyy, yy |
startdate— 減算される最初の時刻値 (減数) 。DateまたはDate32またはDateTimeまたはDateTime64enddate— そこから減算する 2 番目の時刻値 (被減数) 。DateまたはDate32またはDateTimeまたはDateTime64timezone— 任意。タイムゾーン名です。指定した場合は、startdate と enddate の両方に適用されます。指定しない場合は、startdate と enddate のタイムゾーンが使用されます。両者が同一でない場合、結果は未定です。String
Int32
例
年齢を時間単位で計算する
Query
Response
Query
Response
changeDay
date_or_datetime— 変更対象の値。DateまたはDate32またはDateTimeまたはDateTime64value— 新しい値。(U)Int*
date_or_datetime と同じ型の値を返します。Date または Date32 または DateTime または DateTime64
例
使用例
Query
Response
changeHour
date_or_datetime— 変更対象の値。DateまたはDate32またはDateTimeまたはDateTime64value— 新しい値。(U)Int*
date_or_datetime と同じ型で、分の部分が変更された値を返します。DateTime または DateTime64
例
使用例
Query
Response
changeMinute
日付または日時 の分部分を変更します。
構文
date_or_datetime— 変更対象の値です。DateまたはDate32またはDateTimeまたはDateTime64value— 新しい値です。(U)Int*
date_or_datetime と同じ型の値を返します。DateTime または DateTime64
例
使用例
Query
Response
changeMonth
date_or_datetime— 変更対象の値です。DateまたはDate32またはDateTimeまたはDateTime64value— 新しい値です。(U)Int*
date_or_datetime と同じ型で、月の部分が変更された値を返します。Date または Date32 または DateTime または DateTime64
例
使用例
Query
Response
changeSecond
date_or_datetime— 変更対象の値。DateまたはDate32またはDateTimeまたはDateTime64value— 新しい値。(U)Int*
date_or_datetime と同じ型の値を返します。DateTime または DateTime64
例
使用例
Query
Response
changeYear
date_or_datetime— 変更対象の値。DateまたはDate32またはDateTimeまたはDateTime64value— 新しい値。(U)Int*
date_or_datetime と同じ型で、年の部分が変更された値を返します。Date または Date32 または DateTime または DateTime64
例
使用例
Query
Response
dateDiff
unit について、startdate と enddate の間でまたいだ境界の数を返します。
差は相対単位を用いて計算されます。たとえば、2021-12-29 と 2022-01-01 の差は、unit day では 3 日です
(toRelativeDayNum を参照) 。unit month では 1 か月、unit year では 1 年です
(それぞれ toRelativeMonthNum、toRelativeYearNum を参照) 。
unit に week を指定した場合、dateDiff は週の開始日を月曜日とみなします。
この動作は、既定で週の開始日が日曜日である関数 toWeek() とは異なることに注意してください。
dateDiff の代わりに、関数 age も使用できます。
構文
timestampDiff, TIMESTAMP_DIFF, DATE_DIFF, date_diff, timestamp_diff
引数
unit— 結果を表す interval の種類。
| Unit | 設定可能な値 |
|---|---|
| nanosecond | nanosecond, nanoseconds, ns |
| microsecond | microsecond, microseconds, us, u |
| millisecond | millisecond, milliseconds, ms |
| second | second, seconds, ss, s |
| minute | minute, minutes, mi, n |
| hour | hour, hours, hh, h |
| day | day, days, dd, d |
| week | week, weeks, wk, ww |
| month | month, months, mm, m |
| quarter | quarter, quarters, qq, q |
| year | year, years, yyyy, yy |
startdate— 減算される最初の時刻値 (減数) 。DateまたはDate32またはDateTimeまたはDateTime64enddate— 減算元となる 2 番目の時刻値 (被減数) 。DateまたはDate32またはDateTimeまたはDateTime64timezone— 任意。タイムゾーン名。指定した場合は、startdateとenddateの両方に適用されます。指定しない場合は、startdateとenddateのタイムゾーンが使用されます。両者が同一でない場合、結果は未定義です。String
unit で表した enddate と startdate の差を返します。Int64
例
日付の差を時間単位で計算する
Query
Response
Query
Response
dateName
- ‘year’
- ‘quarter’
- ‘month’
- ‘week’
- ‘dayofyear’
- ‘day’
- ‘weekday’
- ‘hour’
- ‘minute’
- ‘second’
date_part— 抽出する日付要素です。Stringdatetime— 日付または日時の値です。DateまたはDate32またはDateTimeまたはDateTime64timezone— 省略可能。タイムゾーンです。String
String
例
さまざまな日付要素を抽出する
Query
Response
dateTrunc
DATE_TRUNC
引数
unit— 結果を切り捨てる単位となるintervalの種類。設定可能な値:nanosecond(DateTime64 のみ) 、microsecond(DateTime64 のみ) 、millisecond(DateTime64 のみ) 、second、minute、hour、day、week、month、quarter、year。Stringdatetime— 日付と時刻。DateまたはDate32またはDateTimeまたはDateTime64timezone— 任意。戻り値の日時に使用するタイムゾーン名です。指定しない場合、関数はdatetime引数のタイムゾーンを使用します。String
| Unit Argument | datetime Argument | Return Type |
|---|---|---|
| Year, Quarter, Month, Week | Date32 or DateTime64 or Date or DateTime | Date32 or Date |
| Day, Hour, Minute, Second | Date32, DateTime64, Date, or DateTime | DateTime64 or DateTime |
| Millisecond, Microsecond, | Any | DateTime64 |
| Nanosecond | with scale 3, 6, or 9 |
Query
Response
Query
Response
formatDateTime
format は定数式であるため、1 つの結果カラムに対して複数のフォーマットを指定することはできません。
formatDateTime は MySQL の datetime フォーマットスタイルを使用します。詳しくは mysql docs を参照してください。
この関数の逆の操作を行うのは parseDateTime です。
置換フィールドを使用すると、結果の文字列のパターンを定義できます。
以下の表の Example カラムは、2018-01-02 22:33:44 をフォーマットした結果を示しています。
置換フィールド:
| Placeholder | Description | Example |
|---|---|---|
| %a | 省略形の曜日名 (Mon-Sun) | Mon |
| %b | 省略形の月名 (Jan-Dec) | Jan |
| %c | 月を整数で表したもの (01-12) | 01 |
| %C | 年を 100 で割って整数に切り捨てた値 (00-99) | 20 |
| %d | 日。ゼロ埋め (01-31) | 02 |
| %D | 短い MM/DD/YY 形式の日付。%m/%d/%y と同等 | 01/02/18 |
| %e | 日。空白埋め (1-31) | 2 |
| %f | 秒の小数部 | 123456 |
| %F | 短い YYYY-MM-DD 形式の日付。%Y-%m-%d と同等 | 2018-01-02 |
| %g | ISO 8601 に準拠した 2 桁の年形式 | 18 |
| %G | ISO の週番号に対応する 4 桁の年形式 | 2018 |
| %h | 12 時間形式の時 (01-12) | 09 |
| %H | 24 時間形式の時 (00-23) | 22 |
| %i | 分 (00-59) | 33 |
| %I | 12 時間形式の時 (01-12) | 10 |
| %j | 年内通算日 (001-366) | 002 |
| %k | 24 時間形式の時 (00-23) | 14 |
| %l | 12 時間形式の時 (01-12) | 09 |
| %m | 月を整数で表したもの (01-12) | 01 |
| %M | 完全な月名 (January-December) | January |
| %n | 改行文字 | |
| %p | AM または PM 表記 | PM |
| %Q | 四半期 (1-4) | 1 |
| %r | 12 時間 HH:MM AM/PM 形式の時刻。%h:%i %p と同等 | 10:30 PM |
| %R | 24 時間 HH:MM 形式の時刻。%H:%i と同等 | 22:33 |
| %s | 秒 (00-59) | 44 |
| %S | 秒 (00-59) | 44 |
| %t | 水平タブ文字 | |
| %T | ISO 8601 時刻形式 (HH:MM:SS)。%H:%i:%S と同等 | 22:33:44 |
| %u | 月曜を 1 とする ISO 8601 の曜日番号 (1-7) | 2 |
| %V | ISO 8601 の週番号 (01-53) | 01 |
| %w | 日曜を 0 とする整数の曜日番号 (0-6) | 2 |
| %W | 完全な曜日名 (Monday-Sunday) | Monday |
| %y | 年の下 2 桁 (00-99) | 18 |
| %Y | 年 | 2018 |
| %z | UTC からの時差。+HHMM または -HHMM | -0500 |
| %% | % 記号 | % |
- ClickHouse v23.4 より前では、フォーマット対象の値が Date、Date32、DateTime (これらには秒の小数部がありません) 、または精度 0 の DateTime64 の場合、
%fは単一のゼロ (0) を出力します。 - ClickHouse v25.1 より前では、
%fは固定の 6 桁ではなく、DateTime64 の scale で指定された桁数だけ出力します。 - ClickHouse v23.4 より前では、
%Mは完全な月名 (January-December) ではなく、分 (00-59) を出力します。
DATE_FORMAT
引数
datetime— フォーマット対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64format— 置換フィールドを含むフォーマット文字列。Stringtimezone— 任意。フォーマットする時刻に使用するタイムゾーン名。String
String
例
年のプレースホルダーを使って日付をフォーマットする
Query
Response
Query
Response
Query
Response
formatDateTimeInJodaSyntax
formatDateTimeに似ていますが、MySQL形式ではなくJoda形式で日時をフォーマットする点が異なります。Joda Timeのドキュメントを参照してください。
この関数の逆の操作は、parseDateTimeInJodaSyntaxです。
置換フィールドを使用すると、結果文字列のパターンを定義できます。
置換フィールド:
| プレースホルダー | 説明 | 表示形式 | 例 |
|---|---|---|---|
| G | 紀元 | テキスト | AD |
| C | 紀元の世紀 (>=0) | 数値 | 20 |
| Y | 紀元の年 (>=0) | 年 | 1996 |
| x | 週ベース年 (未対応) | 年 | 1996 |
| w | 週ベース年の週 (未対応) | 数値 | 27 |
| e | 曜日 | 数値 | 2 |
| E | 曜日 | テキスト | Tuesday; Tue |
| y | 年 | 年 | 1996 |
| D | 年内通算日 | 数値 | 189 |
| M | 月 | 月 | July; Jul; 07 |
| d | 日 | 数値 | 10 |
| a | 午前/午後 | テキスト | PM |
| K | 午前/午後の時 (0~11) | 数値 | 0 |
| h | 午前/午後の時刻 (1~12) | 数値 | 12 |
| H | 時 (0~23) | 数値 | 0 |
| k | 時刻 (1~24) | 数値 | 24 |
| m | 分 | 数値 | 30 |
| s | 秒 | 数値 | 55 |
| S | 秒の小数部 | 数値 | 978 |
| z | タイムゾーン | テキスト | Eastern Standard Time; EST |
| Z | タイムゾーンオフセット | ゾーン | -0800; -0812 |
| ’ | テキストのエスケープ | 区切り文字 | |
| ” | 単一引用符 | リテラル | ’ |
datetime— フォーマットする日付または日時。DateTimeまたはDateまたはDate32またはDateTime64format— Joda形式の置換フィールドを含むフォーマット文字列。Stringtimezone— 任意。フォーマットする時刻に使用するタイムゾーン名。String
String
例
Joda構文を使用して datetime をフォーマットする
Query
Response
fromDaysSinceYearZero
FROM_DAYS() 関数と同じです。Date 型の範囲内で表現できない場合、結果は未定義です。
構文
FROM_DAYS
引数
days— 紀元 0 年からの経過日数。UInt32
Date
例
紀元 0 年からの日数を日付に変換
Query
Response
fromDaysSinceYearZero32
FROM_DAYS() 関数と同じです。結果が Date32 型の範囲内で表現できない場合、結果は未定義です。
構文
days— 紀元0年からの経過日数。UInt32
Date32
例
紀元0年からの経過日数を日付に変換する
Query
Response
fromModifiedJulianDay
YYYY-MM-DD 形式のテキストによるプロレプティック・グレゴリオ暦の日付に変換します。この関数は、-678941 から 2973483 までの日数をサポートします (それぞれ 0000-01-01 と 9999-12-31 を表します) 。日数がサポート対象の範囲外の場合は例外を返します。
構文
day— 修正ユリウス日の日数。(U)Int*
String
例
修正ユリウス日を日付に変換
Query
Response
fromModifiedJulianDayOrNull
fromModifiedJulianDay() と同様ですが、例外をスローする代わりに NULL を返します。
構文
day— 修正ユリウス日番号。(U)Int*
day 引数が有効な場合はテキスト形式の日付を返し、それ以外の場合は null を返します。Nullable(String)
例
null を処理しながら修正ユリウス日を日付に変換する
Query
Response
fromUTCTimestamp
from_utc_timestamp
引数
datetime— 日付または日時の定数値、あるいは式。DateTimeまたはDateTime64time_zone— タイムゾーンを表す String 型の定数値、または式。String
DateTime または DateTime64
例
UTCタイムゾーンを指定したタイムゾーンに変換します
Query
Response
fromUnixTimestamp
- 型
Integerの単一の引数が指定された場合、型DateTimeの値を返します。つまり、toDateTimeと同様に動作します。 - 2 つまたは 3 つの引数が指定され、1 番目の引数が型
Integer、Date、Date32、DateTime、またはDateTime64の値で、2 番目の引数が定数の書式文字列、3 番目の引数が省略可能な定数のタイムゾーン文字列である場合、この関数は型Stringの値を返します。つまり、formatDateTimeと同様に動作します。 この場合、MySQL の datetime フォーマットスタイル が使用されます。
FROM_UNIXTIME
引数
timestamp— Unixタイムスタンプ または date/日時の値。(U)Int*またはDateまたはDate32またはDateTimeまたはDateTime64format— 任意。出力のフォーマットに使用する定数の format string。Stringtimezone— 任意。定数の time zone 文字列。String
DateTime を返し、引数が 2 つまたは 3 つの場合は String を返します。DateTime または String
例
Unixタイムスタンプ を DateTime に変換する
Query
Response
Query
Response
fromUnixTimestampInJodaSyntax
Integer の単一の引数が与えられた場合、型 DateTime の値を返します。つまり、toDateTime と同様に動作します。
2つまたは3つの引数が与えられ、1番目の引数が型 Integer、Date、Date32、DateTime または DateTime64 の値であり、2番目の引数が定数のフォーマット文字列、3番目の引数が省略可能な定数のタイムゾーン文字列である場合、この関数は型 String の値を返します。つまり、formatDateTimeInJodaSyntax と同様に動作します。この場合、Joda の日時フォーマットスタイル が使用されます。
構文
timestamp— Unixタイムスタンプまたは日時の値。(U)Int*またはDateまたはDate32またはDateTimeまたはDateTime64format— 省略可能。出力のフォーマットに使用する、Joda構文による定数のフォーマット文字列。Stringtimezone— 省略可能。定数のタイムゾーン文字列。String
DateTime または String
例
Jodaフォーマットで Unixタイムスタンプを変換
Query
Response
makeDate
Date を、次のいずれかから作成します。
- 年、月、日
- 年と年内通算日
year— 年。(U)Int*またはFloat*またはDecimalmonth— 月 (1-12) 。(U)Int*またはFloat*またはDecimalday— 日 (1-31) 。(U)Int*またはFloat*またはDecimalday_of_year— 年内通算日 (1-365) 。(U)Int*またはFloat*またはDecimal
Date 値を返します Date
例
年、月、日から日付を作成
Query
Response
Query
Response
makeDate32
Date32 を生成します。
- 年、月、日
- 年と年内通算日
year— 年を表す数値。(U)Int*またはFloat*またはDecimalmonth— 月を表す数値 (1~12) 。(U)Int*またはFloat*またはDecimalday— 日を表す数値 (1~31) 。(U)Int*またはFloat*またはDecimalday_of_year— 年内通算日 (1~365) 。(U)Int*またはFloat*またはDecimal
Date32 型の値を返します。Date32
例
年、月、日から Date32 を生成
Query
Response
Query
Response
makeDateTime
timezone から DateTime を作成します。
構文
year— 年。(U)Int*またはFloat*またはDecimalmonth— 月 (1~12) 。(U)Int*またはFloat*またはDecimalday— 日 (1~31) 。(U)Int*またはFloat*またはDecimalhour— 時 (0~23) 。(U)Int*またはFloat*またはDecimalminute— 分 (0~59) 。(U)Int*またはFloat*またはDecimalsecond— 秒 (0~59) 。(U)Int*またはFloat*またはDecimaltimezone— タイムゾーン名。String
DateTime 値を返します。 DateTime
例
年、月、日、時、分、秒から DateTime を構築
Query
Response
makeDateTime64
DateTime64 を作成します。
構文
year— 年。(U)Int*またはFloat*またはDecimalmonth— 月 (1-12) 。(U)Int*またはFloat*またはDecimalday— 日 (1-31) 。(U)Int*またはFloat*またはDecimalhour— 時 (0-23) 。(U)Int*またはFloat*またはDecimalminute— 分 (0-59) 。(U)Int*またはFloat*またはDecimalsecond— 秒 (0-59) 。(U)Int*またはFloat*またはDecimalfraction— 秒の小数部。(U)Int*またはFloat*またはDecimalprecision— 小数部の精度 (0-9) 。UInt8timezone— タイムゾーン名。String
DateTime64 値を返します
例
年、月、日、時、分、秒から DateTime64 を作成
Query
Response
monthName
datetime— 日付または日時。DateまたはDate32、DateTimeまたはDateTime64
String
例
日付から月名を取得する
Query
Response
now
current_timestamp
引数
timezone— 任意。戻り値のタイムゾーン名。String
DateTime
例
タイムゾーンを指定しないクエリ
Query
Response
Query
Response
Query
Response
now64
scale— 任意。ティックサイズ (精度) :10^-precision 秒。有効範囲: [0 : 9]。通常は 3 (デフォルト、ミリ秒) 、6 (マイクロ秒) 、9 (ナノ秒) が使用されます。UInt8timezone— 任意。戻り値のタイムゾーン名。String
DateTime64
例
デフォルトおよびカスタムの精度を指定したクエリ
Query
Response
nowInBlock
now とは異なり、これは定数式ではないため、長時間実行されるクエリではブロックごとに戻り値が異なります。
この関数は、長時間実行される INSERT SELECT クエリで現在時刻を生成する場合に適しています。
構文
timezone— 省略可。戻り値のタイムゾーン名。String
DateTime
例
now() 関数との違い
Query
Response
nowInBlock64
scale— 任意。ティックサイズ (精度) : 10^-precision 秒。有効範囲: [0 : 9]。通常使用されるのは 3 (デフォルト、ミリ秒) 、6 (マイクロ秒) 、9 (ナノ秒) です。UInt8timezone— 任意。戻り値のタイムゾーン名。String
DateTime64
例
now64() 関数との違い
Query
Response
serverTimezone
timezone 設定の値を返します。
この関数が分散テーブルのコンテキストで実行される場合、各分片に対応する値を持つ通常のカラムを返します。そうでない場合は、定数値を返します。
構文
serverTimeZone
引数
- なし。
String で返します
例
使用例
Query
Response
subDate
datetime—intervalを減算する日付または日時。DateまたはDate32またはDateTimeまたはDateTime64interval— 減算する インターバル。Interval
datetime から interval を減算して得られる日付または日時を返します。Date または Date32 または DateTime または DateTime64
例
日付から interval を減算する
Query
Response
subtractDays
datetime— 指定した日数を減算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 減算する日数。(U)Int*またはFloat*
datetime から num 日を減算した値を返します。Date または Date32 または DateTime または DateTime64
例
異なる日付型から日数を減算する
Query
Response
Query
Response
subtractHours
datetime— 指定した時間数を減算する日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 減算する時間数。(U)Int*またはFloat*
datetime から num 時間を引いた結果。DateTime または DateTime64(3)
例
異なる日付型から時間を減算する
Query
Response
Query
Response
subtractInterval
toIntervalDay(2) と toIntervalDay(1) を
渡した場合、結果は (2,1) ではなく (1) になります。
構文
interval_1— 1 つ目のインターバル、またはインターバルのタプル。IntervalまたはTuple(Interval)interval_2— 符号を反転する 2 つ目のインターバル。Interval
Tuple(T) を返します
例
インターバルを減算する
Query
Response
subtractMicroseconds
datetime— 指定した数のマイクロ秒を減算する対象の日時。DateTimeまたはDateTime64またはStringnum— 減算するマイクロ秒数。(U)Int*またはFloat*
datetime から num マイクロ秒を減算した値を返します。DateTime64
例
さまざまな日時型からマイクロ秒を減算する
Query
Response
Query
Response
subtractMilliseconds
datetime— 指定したミリ秒数を減算する日時。DateTimeまたはDateTime64またはStringnum— 減算するミリ秒数。(U)Int*またはFloat*
datetime から num ミリ秒を減算した値を返します。DateTime64
例
さまざまな日時型からミリ秒を減算する
Query
Response
Query
Response
subtractMinutes
datetime— 指定した分数を減算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 減算する分数。(U)Int*またはFloat*
datetime から num 分を減算した値を返します。DateTime または DateTime64(3)
例
さまざまな日付型から分を減算する
Query
Response
Query
Response
subtractMonths
datetime— 指定した月数を減算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 減算する月数。(U)Int*またはFloat*
datetime から num か月を減算した値。 Date または Date32 または DateTime または DateTime64
例
さまざまな日付型から月を減算する
Query
Response
Query
Response
subtractNanoseconds
datetime— 指定したナノ秒数を減算する日時。DateTimeまたはDateTime64またはStringnum— 減算するナノ秒数。(U)Int*またはFloat*
datetime から num ナノ秒を減算した結果を返します。 DateTime64
例
異なる日時型からナノ秒を減算する
Query
Response
Query
Response
subtractQuarters
datetime— 指定した数の四半期を減算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 減算する四半期の数。(U)Int*またはFloat*
datetime から num 四半期を減算した値。Date または Date32 または DateTime または DateTime64
例
異なる日付型で四半期を減算する
Query
Response
Query
Response
subtractSeconds
datetime— 指定した秒数を減算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 減算する秒数。(U)Int*またはFloat*
datetime から num 秒を減算した値を返します。DateTime または DateTime64(3)
例
異なる日付型から秒数を減算する
Query
Response
Query
Response
subtractTupleOfIntervals
datetime— ここからインターバルを減算する日付または日時。DateまたはDate32またはDateTimeまたはDateTime64intervals—datetimeから減算するインターバルの タプル。Tuple(Interval)
intervals を減算した date を返します。Date または Date32 または DateTime または DateTime64
例
日付からインターバルの タプル を減算する
Query
Response
subtractWeeks
datetime— 指定した週数を減算する基準となる日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 減算する週数。(U)Int*またはFloat*
datetime から num 週を減算した値。 Date または Date32 または DateTime または DateTime64
例
さまざまな日付型から週を減算する
Query
Response
Query
Response
subtractYears
datetime— 指定した年数を減算する日付または日時。DateまたはDate32またはDateTimeまたはDateTime64またはStringnum— 減算する年数。(U)Int*またはFloat*
datetime から num 年を減算した値を返します。Date または Date32 または DateTime または DateTime64
例
異なる日付型から年を減算する
Query
Response
Query
Response
timeDiff
enddate - startdate で計算されます。
この関数は dateDiff('second', startdate, enddate) と同等です。
時間差を他の単位 (時間、日、月など) で計算する場合は、代わりに dateDiff 関数を使用します。
構文
startdate— 最初の時刻値 (減数) 。DateまたはDate32またはDateTimeまたはDateTime64enddate—startdateを差し引く元の 2 番目の時刻値 (被減数) 。DateまたはDate32またはDateTimeまたはDateTime64
enddate と startdate の差を秒単位で返します。Int64
例
秒単位の時刻差を計算する
Query
Response
Query
Response
Query
Response
timeSlot
この関数は拡張型
Date32 と DateTime64 の値も引数として受け取れますが、
通常の範囲外の時刻 (Date は 1970 年から 2149 年、DateTime は 2106 年まで) を渡すと、誤った結果になります。time— 30分間隔の開始時刻に丸める時刻。DateTimeまたはDate32またはDateTime64time_zone— 任意。タイムゾーンを表す String 型の定数値または式。String
DateTime
例
時刻を30分間隔の開始時刻に丸める
Query
Response
timeSlots
StartTime から始まり Duration 秒間続く時間間隔に対して、この区間内の時点を秒単位で Size ごとに切り捨てた時点からなる配列を返します。Size は省略可能なパラメータで、デフォルト値は 1800 (30 分) です。
これは、たとえば対応するセッション内のページビューを検索する際に必要です。
DateTime64 の場合、返り値の スケール は StartTime の スケール と異なることがあります。指定されたすべての引数のうち、最も高い スケール が使用されます。
構文
StartTime— 期間の開始時刻。DateTimeまたはDateTime64Duration— 期間の長さ (秒) 。UInt32またはDateTime64Size— 任意。時間スロットのサイズ (秒) 。デフォルトは 1800 (30 分) です。UInt32またはDateTime64
StartTime の型に一致します) 。DateTime64 の場合、戻り値のスケールは StartTime のスケールと異なることがあり、指定されたすべての引数の中で最も高いスケールが使用されます。Array(DateTime) または Array(DateTime64)
例
期間の時間スロットを生成する
Query
Response
timestamp
expr を DateTime64(6) 型に変換します。
2 つ目の引数 expr_time が指定されている場合は、変換後の値に指定した時刻を加算します。
構文
expr の変換後の値、または expr に時刻を加えた DateTime64(6) を返します
例
日付文字列を DateTime64(6) に変換
Query
Response
Query
Response
timezone
timeZone
引数
- なし。
String型の正規のタイムゾーン名を返します
例
使用例
Query
Response
timezoneOf
DateTime または DateTime64 の値に設定されたタイムゾーン名を返します。
構文
timeZoneOf
引数
datetime—DateTime型またはDateTime64型の値timezone— 任意。datetime値のタイムゾーンの変換先となるタイムゾーン名。String
datetime のタイムゾーン名を返します。String
例
使用例
Query
Response
timezoneOffset
timeZoneOffset
引数
datetime— タイムゾーンオフセットの取得対象となるDateTime値。DateTimeまたはDateTime64
Int32
例
使用例
Query
Response
toDayOfMonth
Date または DateTime の日 (1〜31) を返します。
構文
DAY, DAYOFMONTH
引数
datetime— 月の日を取得する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
UInt8
例
使用例
Query
Response
toDayOfWeek
Date または DateTime の値に対して、曜日を表す数値を返します。
toDayOfWeek() の 2 引数形式では、週の開始日を月曜日または日曜日のどちらにするか、
また、戻り値の範囲を 0〜6 または 1〜7 のどちらにするかを指定できます。
| モード | 週の最初の日 | 範囲 |
|---|---|---|
| 0 | 月曜日 | 1-7: 月曜日 = 1, 火曜日 = 2, …, 日曜日 = 7 |
| 1 | 月曜日 | 0-6: 月曜日 = 0, 火曜日 = 1, …, 日曜日 = 6 |
| 2 | 日曜日 | 0-6: 日曜日 = 0, 月曜日 = 1, …, 土曜日 = 6 |
| 3 | 日曜日 | 1-7: 日曜日 = 1, 月曜日 = 2, …, 土曜日 = 7 |
DAYOFWEEK
引数
datetime— 曜日を取得する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64mode— 省略可能。週のモード (0~3) を指定する整数です。省略した場合のデフォルト値は 0 です。UInt8timezone— 省略可能。変換に使用するタイムゾーンです。String
Date または DateTime に対応する曜日を返します。UInt8
例
使用例
Query
Response
toDayOfYear
Date または DateTime の値に対応する、年内での通算日数 (1~366) を返します。
構文
DAYOFYEAR
引数
datetime— 年内通算日を取得する日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
UInt16
例
使用例
Query
Response
toDaysInMonth
Date または DateTime が属する月の日数を返します。
戻り値の範囲は 28 ~ 31 です。
構文
datetime— 月の日数を取得する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
UInt8
例
使用例
Query
Response
toDaysSinceYearZero
TO_DAYS 関数と同じです。
構文
TO_DAYS
引数
date— 紀元 0 年からの経過日数を計算する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64time_zone— タイムゾーン。String
0000-01-01 から経過した日数を返します。UInt32
例
紀元 0 年からの経過日数を計算する
Query
Response
toHour
DateTime または DateTime64 の値から、時の部分 (0~23) を返します。
構文
HOUR
引数
datetime— 時を取得する日時。DateTimeまたはDateTime64
datetime の時 (0~23) を返します。UInt8
例
使用例
Query
Response
toISOWeek
toWeek(date, 3) と等価な互換関数です。
ISO 週は月曜日に始まり、年の最初の週は 1 月 4 日を含む週です。
ISO 8601 では、週番号の範囲は 1 から 53 です。
年の初めまたは終わりに近い日付では、前年または翌年の週番号が返される場合があることに注意してください。たとえば、
2025 年 12 月 29 日は 2026 年 1 月 4 日を含む最初の週に当たるため、週番号 1 を返します。
構文
datetime— ISO 週番号を取得する対象の日付または日時。DateまたはDateTimeまたはDate32またはDateTime64timezone— 任意。タイムゾーン。String
UInt8
例
ISO 週番号を取得する
Query
Response
Query
Response
toISOYear
datetime— 日付または日時の値。DateまたはDate32またはDateTimeまたはDateTime64
UInt16
例
日付の値から ISO年を取得する
Query
Response
toLastDayOfMonth
戻り値の型は、
enable_extended_results_for_datetime_functions を設定することで指定できます。LAST_DAY
引数
value— その月の末日に切り上げる対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
Date
例
その月の末日に切り上げる
Query
Response
toLastDayOfWeek
戻り値の型は、
enable_extended_results_for_datetime_functions を設定することで変更できます。datetime— 変換する日付または日時。DateまたはDateTimeまたはDate32またはDateTime64mode—toWeek()関数で説明されているとおり、週の開始日を決定します。デフォルトは0です。UInt8timezone— 任意。変換に使用するタイムゾーンです。指定しない場合は、server のタイムゾーンが使用されます。String
mode に応じて、指定した日付と同日またはそれ以降で最も近い土曜日または日曜日の日付を返します。Date または Date32
例
最も近い土曜日または日曜日に切り上げる
Query
Response
toMillisecond
DateTime または DateTime64 の値のミリ秒部分 (0~999) を返します。
構文
MILLISECOND
引数
datetime— ミリ秒を取得する対象の日時。DateTimeまたはDateTime64
datetime の分におけるミリ秒 (0 - 59) を返します。UInt16
例
使用例
Query
Response
toMinute
Date または DateTime の値から分の部分 (0~59) を返します。
構文
MINUTE
引数
datetime— 分を取得する日時。DateTimeまたはDateTime64
datetime の分 (0 - 59) を返します。UInt8
例
使用例
Query
Response
toModifiedJulianDay
YYYY-MM-DD の プロレプティック・グレゴリオ暦の日付を、Int32 の 修正ユリウス日 の数値に変換します。この関数は、0000-01-01 から 9999-12-31 までの日付をサポートします。引数を日付として解析できない場合、または日付が無効な場合は例外をスローします。
構文
date— 文字列形式の日付。StringまたはFixedString
Int32
例
日付を修正ユリウス日番号に変換
Query
Response
toModifiedJulianDayOrNull
toModifiedJulianDay() と同様ですが、例外を発生させる代わりに NULL を返します。
構文
date— テキスト形式の日付。StringまたはFixedString
date の修正ユリウス日番号を返し、それ以外の場合は NULL を返します。Nullable(Int32)
例
NULL を処理しながら日付を修正ユリウス日に変換
Query
Response
toMonday
戻り値の型は、
enable_extended_results_for_datetime_functions の設定によって変更できます。value— その週の月曜日に切り下げる対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
Date
例
その週の月曜日に切り下げる
Query
Response
toMonth
Date または DateTime の値の月の部分 (1~12) を返します。
構文
MONTH
引数
datetime— 月を取得する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
UInt8
例
使用例
Query
Response
toMonthNumSinceEpoch
date— 日付または日時。Date、DateTime、またはDateTime64
Query
Response
toQuarter
Date または DateTime の値に対応する年の四半期 (1~4) を返します。
構文
QUARTER
引数
datetime— 年の四半期を取得する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
UInt8
例
使用例
Query
Response
toRelativeDayNum
toRelativeDayNum(dt1) - toRelativeDayNum(dt2) のように使用します。
構文
date— 日付または日時。DateまたはDateTimeまたはDateTime64
UInt32
例
相対的な日数を取得
Query
Response
toRelativeHourNum
toRelativeHourNum(dt1) - toRelativeHourNum(dt2) のように使用します。
構文
date— 日付または日時。DateまたはDateTimeまたはDateTime64
UInt32
例
相対時間数を取得する
Query
Response
toRelativeMinuteNum
toRelativeMinuteNum(dt1) - toRelativeMinuteNum(dt2) のように使用します。
構文
date— 日付または日時。DateまたはDateTimeまたはDateTime64
UInt32
例
相対的な分番号を取得
Query
Response
toRelativeMonthNum
toRelativeMonthNum(dt1) - toRelativeMonthNum(dt2) のように使用します。
構文
date— 日付または日時。DateまたはDateTimeまたはDateTime64
UInt32
例
相対月番号を取得する
Query
Response
toRelativeQuarterNum
toRelativeQuarterNum(dt1) - toRelativeQuarterNum(dt2) のように使用します。
構文
date— 日付または日時。DateまたはDateTimeまたはDateTime64
UInt32
例
相対四半期番号を取得
Query
Response
toRelativeSecondNum
toRelativeSecondNum(dt1) - toRelativeSecondNum(dt2) のように使用します。
構文
date— 日付または日時。DateまたはDateTimeまたはDateTime64
UInt32
例
相対秒数を取得
Query
Response
toRelativeWeekNum
toRelativeWeekNum(dt1) - toRelativeWeekNum(dt2) のように使用します。
構文
date— 日付または日時。DateまたはDateTimeまたはDateTime64
UInt32
例
相対週番号を取得する
Query
Response
toRelativeYearNum
toRelativeYearNum(dt1) - toRelativeYearNum(dt2) のように使用します。
構文
date— 日付または日時。DateまたはDateTimeまたはDateTime64
UInt16
例
相対年番号を取得
Query
Response
toSecond
DateTime または DateTime64 の値から秒の部分 (0~59) を返します。
構文
SECOND
引数
datetime— 秒を取得する日時。DateTimeまたはDateTime64
datetime の分の秒 (0 - 59) を返します。UInt8
例
使用例
Query
Response
toStartOfDay
戻り値の型は、
enable_extended_results_for_datetime_functions の設定で変更できます。DateTime または DateTime64
例
その日の開始時刻に切り下げる
Query
Response
toStartOfFifteenMinutes
戻り値の型は、
enable_extended_results_for_datetime_functions を設定することで変更できます。datetime— 丸める対象の日付または日時。DateTimeまたはDateTime64
DateTime または DateTime64
例
例
Query
Response
toStartOfFiveMinutes
戻り値の型は、
enable_extended_results_for_datetime_functions の設定で変更できます。toStartOfFiveMinute
引数
datetime— 丸める対象の日時。DateTimeまたはDateTime64
DateTime または DateTime64
例
例
Query
Response
toStartOfHour
戻り値の型は、
enable_extended_results_for_datetime_functions の設定で変更できます。datetime— 丸める対象の日時。DateTimeまたはDateTime64
DateTime または DateTime64
例
その時間の開始時刻まで切り下げる
Query
Response
toStartOfISOYear
戻り値の型は、
enable_extended_results_for_datetime_functions の設定で変更できます。value— ISO 年の初日に切り下げる日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
Date
例
ISO 年の初日に切り下げる
Query
Response
toStartOfInterval
toStartOfInterval(date_or_date_with_time, INTERVAL x unit [, time_zone]) 構文によって、他の toStartOf*() 関数を一般化した関数です。
たとえば、
toStartOfInterval(t, INTERVAL 1 YEAR)はtoStartOfYear(t)と同じ結果を返します。toStartOfInterval(t, INTERVAL 1 MONTH)はtoStartOfMonth(t)と同じ結果を返します。toStartOfInterval(t, INTERVAL 1 DAY)はtoStartOfDay(t)と同じ結果を返します。toStartOfInterval(t, INTERVAL 15 MINUTE)はtoStartOfFifteenMinutes(t)と同じ結果を返します。
| インターバル | 開始点 |
|---|---|
| YEAR | 0年 |
| QUARTER | 1900年第1四半期 |
| MONTH | 1900年1月 |
| WEEK | 1970年の第1週 (01-05) |
| DAY | 1970-01-01 |
| HOUR | (*) |
| MINUTE | 1970-01-01 00:00:00 |
| SECOND | 1970-01-01 00:00:00 |
| MILLISECOND | 1970-01-01 00:00:00 |
| MICROSECOND | 1970-01-01 00:00:00 |
| NANOSECOND | 1970-01-01 00:00:00 |
| (*) 時間単位のインターバルは特殊で、計算は常に当日の 00:00:00 (深夜) を基準に行われます。そのため、 | |
| 1 から 23 までの時間の値だけが有効です。 |
WEEK を指定した場合、toStartOfInterval は週の開始日を月曜日と見なします。この動作は、週の開始日がデフォルトで日曜日である関数 toStartOfWeek とは異なる点に注意してください。
2 番目のオーバーロードは、TimescaleDB の time_bucket() 関数、または PostgreSQL の date_bin() 関数をエミュレートします。
構文
time_bucket, date_bin
引数
value— 切り下げる日付または日時の値。DateまたはDateTimeまたはDateTime64x— 間隔の長さを表す数値。-unit— 間隔の単位: YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, MILLISECOND, MICROSECOND, NANOSECOND. -time_zone— 任意。文字列で指定するタイムゾーン名。-origin— 任意。計算の始点 (2 番目のオーバーロードのみ) 。
DateTime
例
基本的な間隔の丸め
Query
Response
Query
Response
toStartOfMicrosecond
datetime— 日付と時刻。DateTime64timezone— 省略可能。戻り値のタイムゾーンです。指定しない場合、関数はvalueパラメータのタイムゾーンを使用します。String
DateTime64
例
タイムゾーンを指定しないクエリ
Query
Response
Query
Response
toStartOfMillisecond
datetime— 日付と時刻。DateTime64timezone— 省略可能。戻り値のタイムゾーンです。指定しない場合、関数はvalueパラメーターのタイムゾーンを使用します。String
DateTime64
例
タイムゾーンを指定しないクエリ
Query
Response
Query
Response
toStartOfMinute
戻り値の型は、
enable_extended_results_for_datetime_functions の設定によって変更できます。datetime— 丸める日時。DateTimeまたはDateTime64
DateTime または DateTime64
例
分の先頭に切り下げる
Query
Response
toStartOfMonth
戻り値の型は、
enable_extended_results_for_datetime_functions の設定によって変更できます。value— 月初に切り下げる対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
Date
例
月初に切り下げる
Query
Response
toStartOfNanosecond
datetime— 日付と時刻。DateTime64timezone— 省略可。戻り値のタイムゾーン。指定しない場合、関数はvalue引数のタイムゾーンを使用します。String
DateTime64
例
タイムゾーンを指定しないクエリ
Query
Response
Query
Response
toStartOfQuarter
戻り値の型は、
enable_extended_results_for_datetime_functions の設定によって変更できます。value— 四半期の初日に切り下げる対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
Date
例
四半期の初日に切り下げる
Query
Response
toStartOfSecond
datetime— 小数秒を切り捨てる日時。DateTime64timezone— 省略可能。戻り値に使用するタイムゾーンです。指定しない場合、関数はvalueパラメータのタイムゾーンを使用します。String
DateTime64
例
タイムゾーンを指定しないクエリ
Query
Response
Query
Response
toStartOfTenMinutes
戻り値の型は、
enable_extended_results_for_datetime_functions の設定によって変更できます。datetime— 日時。DateTimeまたはDateTime64
DateTime または DateTime64
例
例
Query
Response
toStartOfWeek
戻り値の型は、
enable_extended_results_for_datetime_functions の設定で変更できます。datetime— 変換する日付または日時。DateまたはDateTimeまたはDate32またはDateTime64mode—toWeek()関数で説明されているとおり、週の開始日を決定します。デフォルトは0です。UInt8timezone— 変換に使用するタイムゾーン。指定しない場合は、サーバーのタイムゾーンが使用されます。String
mode に応じて、指定した日付当日またはそれ以前の直近の日曜日または月曜日の日付を返します。Date または Date32
例
直近の日曜日または月曜日に切り下げる
Query
Response
toStartOfYear
Date オブジェクトとして返されます。
戻り値の型は、
enable_extended_results_for_datetime_functions の設定によって変更できます。value— 切り下げる対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
Date
例
年の最初の日に切り下げる
Query
Response
toTimeWithFixedDate
1970-01-02 が使われていますが、
どの時点を基準とするかは実装の詳細であり、将来変更される可能性があります。
したがって、toTime を単独で使用するべきではありません。
この関数の主な用途は、2 つの日付または日時の時間差を計算することです。たとえば、toTime(dt1) - toTime(dt2) のように使用します。
構文
date— 時刻に変換する日付または日時。DateまたはDateTimeまたはDateTime64timezone— 省略可。戻り値に使用するタイムゾーン。String
DateTime
例
2 つの日付の時刻差を計算する
Query
Response
toTimezone
DateTime または DateTime64 を、指定したタイムゾーンに変換します。
データの内部値 (Unix 秒数の数値) は変わりません。
変わるのは、値のタイムゾーン属性と値の文字列表現だけです。
構文
toTimeZone
引数
date— 変換する値。DateTimeまたはDateTime64timezone— 変換先のタイムゾーン名。String
DateTime または DateTime64 として返します
例
使用例
Query
Response
toUTCTimestamp
to_utc_timestamp
引数
datetime— 日付型または日時型の定数値、あるいは式。DateTimeまたはDateTime64time_zone— タイムゾーンを表す String 型の定数値、あるいは式。String
DateTime または DateTime64
例
タイムゾーンを UTC に変換する
Query
Response
toUnixTimestamp
String、Date、または DateTime を、UInt32 の Unix timestamp (1970-01-01 00:00:00 UTC からの経過秒数) に変換します。
構文
date— 変換する値。DateまたはDate32またはDateTimeまたはDateTime64またはStringtimezone— 省略可能。変換に使用するタイムゾーン。指定しない場合は、サーバーのタイムゾーンが使用されます。String
UInt32
例
使用例
Query
Response
toWeek
toWeek() の 2 引数形式では、週の開始日を日曜日または月曜日のどちらにするかと、返り値の範囲を 0〜53 とするか 1〜53 とするかを指定できます。
toISOWeek() は、toWeek(date,3) と等価な互換関数です。
次の表は、mode 引数の動作を示しています。
| Mode | First day of week | Range | Week 1 is the first week … |
|---|---|---|---|
| 0 | 日曜日 | 0-53 | その年の日曜日を含む最初の週 |
| 1 | 月曜日 | 0-53 | その年に 4 日以上含まれる最初の週 |
| 2 | 日曜日 | 1-53 | その年の日曜日を含む最初の週 |
| 3 | 月曜日 | 1-53 | その年に 4 日以上含まれる最初の週 |
| 4 | 日曜日 | 0-53 | その年に 4 日以上含まれる最初の週 |
| 5 | 月曜日 | 0-53 | その年の月曜日を含む最初の週 |
| 6 | 日曜日 | 1-53 | その年に 4 日以上含まれる最初の週 |
| 7 | 月曜日 | 1-53 | その年の月曜日を含む最初の週 |
| 8 | 日曜日 | 1-53 | 1 月 1 日を含む |
| 9 | 月曜日 | 1-53 | 1 月 1 日を含む |
- 1 月 1 日を含む週が新年に 4 日以上含まれている場合、その週は第 1 週です。
- それ以外の場合、その週は前年の最後の週となり、次の週が第 1 週です。
parseDateTime64BestEffort() でサポートされる形式の String として指定することもできます。文字列引数のサポートは、特定のサードパーティーツールが想定する MySQL との互換性のためにのみ存在します。文字列引数のサポートは、将来的に新しい MySQL 互換設定に依存するようになる可能性があり、また一般に文字列のパースは低速であるため、使用しないことを推奨します。
構文
week
引数
datetime— 週番号の取得元となる日付または日時。DateまたはDateTimemode— オプション。0から9のモードで、週の開始曜日と週番号の範囲を指定します。デフォルトは0です。 -time_zone— オプション。タイムゾーン。String
UInt32
例
異なるモードで週番号を取得する
Query
Response
toYYYYMM
UInt32 型の値に変換します。
省略可能な2番目の引数としてタイムゾーンを指定できます。指定する場合、タイムゾーンは文字列定数である必要があります。
この関数は、関数 YYYYMMDDToDate() の逆です。
構文
datetime— 変換する日付または日時。DateまたはDate32またはDateTimeまたはDateTime64timezone— 省略可能。変換に使用するタイムゾーン。指定する場合、タイムゾーンは文字列定数である必要があります。String
UInt32 を返します。
例
現在の日付を YYYYMM 形式に変換する
Query
Response
toYYYYMMDD
UInt32 の数値 (YYYY * 10000 + MM * 100 + DD) に変換します。省略可能な第 2 引数として タイムゾーン を指定できます。指定する場合、タイムゾーン は文字列定数である必要があります。
構文
datetime— 変換対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64timezone— 任意。変換に使用するタイムゾーンです。指定する場合、タイムゾーンは文字列定数である必要があります。String
UInt32 の数値 (YYYY * 10000 + MM * 100 + DD) を返します。UInt32
例
現在の日付を YYYYMMDD フォーマットに変換する
Query
Response
toYYYYMMDDhhmmss
UInt64 の数値 (YYYY * 10000000000 + MM * 100000000 + DD * 1000000 + hh * 10000 + mm * 100 + ss) に変換します。
2 番目の省略可能な引数として タイムゾーン を受け取ります。指定する場合、タイムゾーン は文字列定数である必要があります。
構文
datetime— 変換する日付または日時。DateまたはDate32またはDateTimeまたはDateTime64timezone— 省略可。変換に使用するタイムゾーンです。指定する場合、タイムゾーンは文字列定数である必要があります。String
UInt64 型の数値を返します (YYYY * 10000000000 + MM * 100000000 + DD * 1000000 + hh * 10000 + mm * 100 + ss) 。UInt64
例
現在の日付と時刻を YYYYMMDDhhmmss 形式に変換
Query
Response
toYear
Date または DateTime 型の値の年の部分 (西暦) を返します。
構文
YEAR
引数
datetime— 年を取得する対象の日付または日時。DateまたはDate32またはDateTimeまたはDateTime64
UInt16 を返します
例
使用例
Query
Response
toYearNumSinceEpoch
date— 変換対象の日付または日時。DateまたはDateTimeまたはDateTime64
Query
Response
toYearWeek
mode 引数は、toWeek() の mode 引数と同様に機能します。
警告: toYearWeek() が返す週番号は、toWeek() が返すものと異なる場合があります。toWeek() は常に指定された年における週番号を返しますが、toWeek() が 0 を返す場合、toYearWeek() は前年の最後の週に対応する値を返します。以下の例の prev_yearWeek を参照してください。
最初の引数には、parseDateTime64BestEffort() がサポートするフォーマットの String も指定できます。文字列引数のサポートは、特定のサードパーティツールで想定されている MySQL との互換性のためにのみ提供されています。文字列引数のサポートは将来的に新しい MySQL 互換設定に依存するようになる可能性があり、また文字列のパースは一般に低速であるため、使用しないことを推奨します。
構文
yearweek
引数
datetime— 年と週を取得する日付または日時。DateまたはDateTimemode— 任意。モード0~9は、週の開始曜日と週番号の範囲を決定します。デフォルトは0。-timezone— 任意。タイムゾーン。String
UInt32
例
異なるモードで年と週の組み合わせを取得する
Query
Response
today
toDate(now()) と同じです。
構文
curdate, current_date
引数
- なし
Date を返します。
例
使用例
Query
Response
Query
Response
yesterday
- なし。
Date
例
昨日の日付を取得
Query
Response