演算子 | 説明 |
---|---|
& | ビット演算 AND |
~ | ビット演算 NOT |
| | ビット演算 OR |
^ | ビット演算 排他的 OR |
BIT | TINYINT | SMALLINT |
INTEGER | BIGINT | UTINYINT |
USMALLINT | UINTEGER | UBIGINT |
ビット演算子 | 説明と構文 | 返される値 | 例 |
---|---|---|---|
AND | ビット演算子 AND は、2 つのオペランド間でビットごとに論理積演算を実行します。AND は、2 つのビットを比較し、両方のビットの値が 1 の場合にのみ、値 1 を結果に代入します。そうでない場合、結果のビットは 0 にセットされます。 式 & 式 式は INTEGER データ型を含んでいる任意の有効な式です。ビット演算のためにバイナリ数値へ変換されます。 | 異なる INTEGER データ型のオペランドを伴うビット演算 AND では、2 つのオペランドのうち、サイズの小さなデータ型の引数が大きなデータ型へ変換されるか、または大きい方の次に大きなデータ型へ変換されます。 ビット演算 AND にかかわるオペランドが符号付きの場合、結果の値も符号付きになります。 | & 演算子を IF 関数と組み合わせて使用し、テーブルがシステム テーブルかユーザー定義のテーブルかを調べることができます。 select Xf$Name, IF(Xf$Flags & 16 = 16, 'System table','User table') from X$File |
NOT | ビット演算子 NOT は、あらゆる変数のビット値を反転し、その値を対応する結果のビットにセットします。 ~ 式 式は INTEGER データ型を含んでいる任意の有効な式です。ビット演算のためにバイナリ数値へ変換されます。チルダ(~)は、ユーザー定義名の一部として使用できません。 | ビット演算子 NOT は、INTEGER データ型の単一オペランドの反転を返します。すべての 1 は 0 に変換され、すべての 0 は 1 に変換されます。 | 次のクエリは、数値リテラルに対して補数演算を実行します。 SELECT ~12 結果は -13 です。補数演算は符合ビットも補完するため、結果は負数になります。 |
OR | ビット演算子 OR は、2 つのオペランド間でビットごとの論理和演算を実行します。OR は、2 つのビットを比較し、一方または両方のビットの値が 1 の場合は、値 1 を結果に代入します。入力式のどちらのビットの値も 1 でない場合、結果のビットは 0 にセットされます。OR 演算子は、オペランドとして数値のみを取ります。 式 | 式 式は INTEGER データ型を含んでいる任意の有効な式です。ビット演算のためにバイナリ数値へ変換されます。 | 異なる INTEGER データ型のオペランドを伴うビット演算 OR では、2 つのオペランドのうち、サイズの小さなデータ型の引数が大きなデータ型へ変換されるか、または大きい方の次に大きなデータ型へ変換されます。 ビット演算 OR にかかわるオペランドが符号付きの場合、結果の値も符号付きになります。 | 次の例では、外部キーと主キーの制約の一覧を取得することができます。 select B.Xf$Name "Table name", C.Xe$Name "Column name", IF (Xi$Flags & 8192 = 0, 'Primary key', 'Foreign key') "Key type" from X$Index A, X$File B, X$Field C where (A.Xi$Flags & (16384 | 8192)) > 0 AND A.Xi$File = B.Xf$Id AND A.Xi$Field = C.Xe$Id |
OR(排他的) | ビット演算子の排他的 OR は、2 つのオペランド間でビットごとの排他的論理和演算を実行します。排他的 OR は、2 つのビットを比較し、両方のビットの値が 0 または 1 の場合は、値 0 を結果に代入します。そうでない場合は、対応する結果のビットを 1 にセットします。 式 ^ 式 式は INTEGER データ型を含んでいる任意の有効な式です。ビット演算のためにバイナリ数値へ変換されます。キャレット記号(^)は、ユーザー定義名の一部として使用できません。 | 異なる INTEGER データ型のオペランドを伴うビット演算排他的 OR では、2 つのオペランドのうち、サイズの小さなデータ型の引数が大きなデータ型へ変換されるか、または大きい方の次に大きなデータ型へ変換されます。 ビット演算排他的 OR にかかわるオペランドが符号付きの場合、結果の値も符号付きになります。 | 次の SQL クエリは、2 つの数値リテラルで排他的 OR を実行します。 SELECT 12 ^ 8 結果は 4 です。 |
A | B | A & B | A | B | A ^ B | ~ A |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 0 |
関数 | 説明 |
---|---|
ASCII (string) | string の一番左の文字の数値を返します。値は、データベース コード ページ内の文字の位置です。UNICODE 関数も参照してください。 |
BIT_LENGTH (string) | string の長さをビット数で返します。 |
CHAR (code) | code 引数により選択されるデータベース コード ページの文字に対応する、単一文字の文字列を返します。引数は整数値でなければなりません。NCHAR 関数も参照してください。 |
CHAR_LENGTH (string) | string 内のバイト数を返します。CHAR および NCHAR string では、すべての埋め込みが意味を持ちます。 |
CHAR_LENGTH2 (string) | string 内の文字数を返します。CHAR および NCHAR string では、すべての埋め込みが意味を持ちます。データにダブルバイト文字が含まれている場合は、文字列のサイズより小さい値が返されることがあります。 |
CHARACTER_LENGTH (string) | CHAR_LENGTH と同じです。 |
CONCAT (string1, string2) | string2 を string1 に連結した結果の文字列を返します。 |
ISNUMERIC (string) | 文字列値が数値として評価できる場合は 1(TRUE)を返します。そうでない場合は 0(FALSE)を返します。 |
LCASE または LOWER (string) | string の大文字がすべて小文字に変換された文字列を返します。 |
LEFT (string, count) | string の左端から count 分の文字を返します。count の値は整数です。 |
LENGTH (string) | string 内の文字数を返します。VARCHAR、NVARCHAR、LONGVARCHAR、または NLONGVARCHAR の string の場合、後続の空白はカウントされます。CHAR、NCHAR、LONGVARCHAR、または NLONGVARCHAR の string の場合、後続のヌルはカウントされます。string の終端文字はカウントされません。ANSI_PADDING = OFF の場合、後続のヌルは後続の空白と同様に扱われ、CHAR 列では長さにカウントされません。 |
LOCATE (string1, string2[, start]) | string2 の中で string1 が最初に現れる位置を返します。string2 内での検索は、開始位置(start)が指定されていなければ、先頭の文字位置から始めます。検索は指定された開始位置から始まります。string2 の先頭文字位置は 1 です。string1 が見つからない場合は、値 0 が返されます。 |
LTRIM (string) | string から先頭の空白を除いた文字を返します。CHAR および NCHAR string では、すべての埋め込みが意味を持ちます。 |
NCHAR (code) | code 引数で指定される Unicode コードポイント値に対応する、単一文字のワイド文字列を返します。引数は整数値でなければなりません。CHAR 関数も参照してください。 |
OCTET_LENGTH (string) | string の長さを 8 進数(バイト数)で返します。CHAR および NCHAR string では、すべての埋め込みが意味を持ちます。 |
POSITION (string1, string2) | string2 の中にある string1 の位置を返します。string1 が string2 内に存在しない場合は、ゼロが返されます。 |
REPLACE (string1, string2, string3) | string1 を検索して string2 が現れる箇所を探し、それをすべて string3 に置き換えます。その結果が返されます。文字列が現れなかった場合は、string1 が返されます。 |
REPLICATE (string, count) | string を count の回数だけ繰り返して構成した string を返します。count の値は整数です。 |
REVERSE (string) | 文字の並びが反転された string を返します。文字列型の先頭のスペースは末尾のスペースとは異なり、意味のあるものと見なされることに注意してください。例を参照してください。 |
RIGHT (string, count) | string の右端から count 分の文字を返します。count の値は整数です。 |
RTRIM (string) | string から後続の空白を除いた文字列を返します。ANSI_PADDING = OFF の場合、後続のヌルは後続の空白と同様に扱われ、CHAR 列の値から除かれます。 |
SOUNDEX (string) | アルファ文字列を 4 文字のコードに変換して類似した音声の語や名前を検索します。2 つの文字列の類似性を評価する 4 文字(SOUNDEX)のコードを返します。通常は名前です。 メモ: 合衆国政府が使用する Soundex の公式な実装に設定される現在の規則に従います。 |
SPACE (count) | count で示された数の空白から成る string を返します。 |
STUFF (string1, start, length, string2) | string1 の start 位置から length で示された数だけの文字を string2 で置き換えた結果得られる文字列を返します。start と length は整数です。 |
SUBSTRING (string1, start, length) | string1 の中の start で指定された文字位置から、length で指定された文字数を取り出し、その文字列を返します。start 値には、任意の数値を指定できます。string1 の先頭位置は 1 です。0 または負数の start 値は、先頭位置の左と見なされます。length は負の値にできません。 |
UCASE または UPPER (string) | string の小文字すべて大文字に変換された文字列を返します。 |
UNICODE (string) | string の一番左の文字の Unicode コードポイント値を返します。ASCII 関数も参照してください。 |
関数 | 説明 |
---|---|
ABS (numeric_exp) | numeric_exp の絶対値(正数)を返します。 |
ACOS (float_exp) | ラジアンで示された角度として、float_exp のアークコサインを返します。 |
ASIN (float_exp) | ラジアンで示された角度として、float_exp のアークサインを返します。 |
ATAN (float_exp) | ラジアンで示された角度として、float_exp のアークタンジェントを返します。 |
ATAN2 (float_exp1, float_exp2) | ラジアンで示された角度として、x(float_exp1)座標と y(float_exp2)座標のアークタンジェントを返します。 |
CEILING (numeric_exp) | numeric_exp で示された値以上の最小の整数を返します。 |
COS (float_exp) | float_exp がラジアンで示された角度である場合、float_exp のコサインを返します。 |
COT (float_exp) | float_exp がラジアンで示された角度である場合、float_exp のコタンジェントを返します。 |
DEGREES (numeric_exp) | numeric_exp のラジアンから変換された度数を返します。 |
EXP (float_exp) | float_exp の指数値を返します。 |
FLOOR (numeric_exp) | numeric_exp で示された値以下の最大の整数を返します。 |
LOG (float_exp) | float_exp の自然対数を返します。 |
LOG10 (float_exp) | float_exp の 10 を底とする対数を返します。 |
MOD (integer_exp1, integer_exp2) | integer_exp1 を integer_exp2 で割った余り(絶対値)を返します。 |
PI () | πの定数値を浮動小数点値で返します。 |
POWER (numeric_exp, integer_exp) | numeric_exp に integer_exp で示されたべき乗を行った値を返します。 |
RADIANS (numeric_exp) | numeric_exp の度数から変換されたラジアン値を返します。 |
RAND (integer_exp) | integer_exp をオプションのシード値として使用する、ランダムな浮動小数点値を返します。 |
ROUND (numeric_exp, integer_exp) | 小数点の右側の integer_exp で示される位置で丸められた numeric_exp を返します。integer_exp が負数の場合、numeric_exp は、小数点の左側の |integer_exp|(integer_exp の絶対値)で示される位置で丸められます。 |
SIGN (numeric_exp) | numeric_exp の符号を示す値を返します。numeric_exp が 0 より小さい場合は -1 が返されます。numeric_exp が 0 の場合は 0 が返されます。numeric_exp が 0 より大きい場合は 1 が返されます。 |
SIN (float_exp) | float_exp がラジアンで示された角度である場合、float_exp のサインを返します。 |
SQRT (float_exp) | float_exp の平方根を返します。 |
TAN (float_exp) | float_exp がラジアンで示された角度である場合、float_exp のタンジェントを返します。 |
TRUNCATE (numeric_exp, integer_exp) | 小数点の右側の integer_exp で示される位置で切り捨てられた numeric_exp を返します。integer_exp が負数の場合、numeric_exp は、小数点の左側の |integer_exp|(絶対値)で示される位置で切り捨てられます。 |
関数 | 説明 |
---|---|
CURDATE() | 現在の現地日付を 'yyyy-mm-dd' 形式で返します。デフォルトで、ローカル時計の日付を使用します。SET TIME ZONE を呼び出した場合、CURDATE() の値は、システム時計とオペレーティング システムの地域の設定を基に UTC 日付と時刻を計算し、SET TIME ZONE のオフセット値を加算することによって決定されます。 |
CURRENT_DATE() | 現在の UTC 日付を 'dd/mm/yyyy' 形式で返します。 |
CURTIME() | 現在の現地時刻を 'hh:mm:ss' 形式で返します。デフォルトで、ローカル時計の時刻を使用します。SET TIME ZONE を呼び出した場合、CURTIME() の値は、システム時計とオペレーティング システムの地域の設定を基に UTC 日付と時刻を計算し、SET TIME ZONE のオフセット値を加算することによって決定されます。 |
CURRENT_TIME() | 現在の UTC 時刻を 'hh:mm:ss' 形式で返します。 |
CURRENT_TIMESTAMP() | 現在の UTC 日付と時刻を 'yyyy-mm-dd hh:mm:ss.mmm' 形式で返します。 |
DATEADD(datepart, interval, date_exp) | 日付に interval を加算した新しい DATETIME 値を返します。たとえば、datepart が day、interval が 11、date_exp が 2020 年 1 月 26 日の場合は、2020 年 2 月 6 日を返します。datepart には interval を加算する日付の部分を指定します。値は以下のいずれかである必要があります。 • YEAR • QUARTER • MONTH • DAY • DAYOFYEAR • WEEK • HOUR • MINUTE • SECOND • MILLISECOND interval には、datepart を増加させるために用いる正または負の整数値を指定します。interval に小数部が含まれる場合、小数部は無視されます。 |
DATEDIFF(datepart, start, end) | 2 つの日付の差異を表す整数を返します。この整数は、2 つの日付間の日付と時刻の境界の数です。 たとえば、テーブル mytest に col1 および col2 の 2 つの列があり、両方とも DATETIME だとします。col1 の値は 2000-01-01 11:11:11.234 で、col2 は 2004-09-11 10:10:10.211 です。次の SELECT ステートメントは 56 を返します。それが col1 と col2 の月の差異だからです。 SELECT DATEDIFF(month, col1, col2) as Month_Difference FROM mytest datepart には差異を計算する日付の部分を指定します。値は以下のいずれかである必要があります。 • YEAR • QUARTER • MONTH • DAY • DAYOFYEAR • WEEK • HOUR • MINUTE • SECOND • MILLISECOND start には差異を計算する始まりの日付を指定します。start は DATETIME 値または DATE 形式の Unicode 文字列を返す式です。 end には差異を計算する終わりの日付を指定します。end は DATETIME 値または DATE 形式の Unicode 文字列を返す式です。 |
DATEFLOOR(timestamp_exp, interval_unit) | timestamp_exp を最も近い interval_unit の境界に切り捨てることによって決定されるタイムスタンプを返します。この切り捨ては、interval_unit より右にあるすべてのタイムスタンプ フィールドを最小値に設定することで行われます。たとえば、interval_unit が day である場合は、timestamp_exp の year、month、および day はすべて保持され、hour、minute、および second はゼロに設定されます。 interval_unit に対して有効な値は次のとおりです。 • YEAR • MONTH • DAY • HOUR • MINUTE • SECOND |
DATEFROMPARTS(year, month, day) | 指定された年、月、日の日付値を返します。 パラメーターのいずれかがヌルである場合は、ヌルが返されます。 |
DATENAME (datepart, date_exp) | date_exp の datepart を表す英語の文字列(VARCHAR)を返します。たとえば、datepart month は January、February というように月名を返します。datepart weekday は Monday、Tuesday というように曜日を返します。 datepart には返される日付の部分を指定します。値は以下のいずれかである必要があります。 • YEAR • QUARTER • MONTH • DAY • DAYOFYEAR • WEEK • WEEKDAY • HOUR • MINUTE • SECOND • MILLISECOND date_exp は DATETIME 値、暗黙的に DATETIME 値に変換される値、または DATE 形式の文字列を返す式です。DATETIME を参照してください。 |
DATEPART(datepart, date_exp) | date_exp の datepart を表す整数を返します。たとえば、datepart month は月を表す整数を返します(1 月 = 1、2 月 = 2)。datepart weekday は曜日を表す整数を返します(日曜日 = 1、土曜日 = 7)。 datepart には返される日付の部分を指定します。値は以下のいずれかである必要があります。 • YEAR • QUARTER • MONTH • DAY • DAYOFYEAR • WEEK • WEEKDAY • HOUR • MINUTE • SECOND • MILLISECOND • TZOFFSET TZOFFSET 値は、タイム ゾーンのオフセットを分数(符号付き)で返します。TZOFFSET を指定した DATEPART 関数は、SYSDATETIMEOFFSET() および、タイム ゾーンのオフセットを含んでいる文字列リテラルでのみ機能します。タイム ゾーン オフセットの範囲は -14:00 から +14:00 です。時刻と日付関数の例を参照してください。 date_exp は DATETIME 値、暗黙的に DATETIME 値に変換される値、または DATE 形式の文字列を返す式です。DATETIME を参照してください。 |
DAY(date_exp) | |
DAYNAME(date_exp) | date_exp の曜日部分に対して、曜日の名前(たとえば、Sunday から Saturday)を含んでいる英語の文字列を返します。 date_exp には、日付リテラル、SQL_TIMESTAMP リテラル、または DATE、DATETIME、タイムスタンプ データが格納されている列を指定できます。 |
DAYOFMONTH(date_exp) | date_exp の月の何日目かを 1 ~ 31 の範囲の整数値で返します。date_exp には、日付リテラル、SQL_TIMESTAMP リテラル、または DATE、DATETIME、タイムスタンプ データが格納されている列を指定できます。 |
DAYOFYEAR(date_exp) | date_exp の年の何日目かを 1 ~ 366 の範囲の整数値で返します。 |
DATETIMEFROMPARTS(year, month, day, hour, minute, seconds, milliseconds) | 提供されたパラメーターで構成される値を返します。パラメーターのいずれかがヌルである場合は、ヌルが返されます。 |
DATETIMEOFFSETFROMPARTS(year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, scale) | 指定されたパラメーターを使用して、日付と時刻の文字列値を返します。 scale を除くパラメーターのいずれかがヌルである場合は、ヌルが返されます。scale がヌルの場合は、エラーが返されます。 scale には、分数値の精度を指定します。指定できる範囲は 0 から 7 です。fractions は scale によって決まり、範囲は 0 から 9999999 です。たとえば、scale が 3 の場合、各 fractions はミリ秒を表します。fractions に指定される桁数は、scale の値以下でなければなりません。 hour_offset には、タイム ゾーンの時部分を指定します。範囲は -14 から +14 です。minute_offset には、タイム ゾーンの分部分を指定します。範囲は 0 から 59 です。hour_offset と minute_offset の符号は、hour_offset が 0 でない限り、同じでなければなりません。 DATETIMEOFFSETFROMPARTS のデフォルトの文字列リテラル書式は、YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-}hh:mm] です。 |
EVERYN(interval_unit, timestamp_exp, rounding_unit, bucket_size) | timestamp_exp を最も近いタイム バケットの開始に切り捨てることによって決定されるタイムスタンプを返します。タイム バケットは、bucket_size * interval_unit をバケットとし、最も近い rounding_unit の開始からカウントします。 たとえば、1 分ごとに 10 個のデータのグループを持ちたいとします。これには 6 秒バケットが必要となります。EVERYN(SECOND, '2022-06-15 08:15:22.891', MINUTE, 6) は、指定されたタイムスタンプを、最も近い分(MINUTE)の開始からカウントして最も近い 6 秒バケットの開始に切り捨てます。最も近い分は '2022-06-15 08:15:00.000' であり、この分の 4 番目の 6 秒バケットが '2022-06-15 08:15:18.000' から始まるため、この値が返されることになります。このバケット内のタイムスタンプはすべて、これと同じ結果を EVERYN から受け取ります。 interval_unit および rounding_unit に対して有効な値は次のとおりです。 • YEAR • MONTH • DAY • HOUR • MINUTE • SECOND メモ:interval_unit より rounding_unit の方が間隔が大きい場合にのみ、EVERYN は有用な結果をもたらします。 |
EXTRACT(extract_field, extract_source) | extract_source の extract_field 部分を返します。引数 extract_source は、日付、時刻、または間隔を表す式です。 extract_field には次の値を指定でき、またこれらの値が対象の式から返されます。 • YEAR • MONTH • DAY • HOUR • MINUTE • SECOND |
HOUR(time_exp) | 時刻を 0 ~ 23 の範囲の整数値で返します。time_exp には、日付リテラル、SQL_TIMESTAMP リテラル、または DATE、DATETIME、タイムスタンプ データが格納されている列を指定できます。 |
MINUTE(time_exp) | 分を 0 ~ 59 の範囲の整数値で返します。time_exp には、日付リテラル、SQL_TIMESTAMP リテラル、または DATE、DATETIME、タイムスタンプ データが格納されている列を指定できます。 |
MONTH(date_exp) | 月を 1 ~ 12 の範囲の整数値で返します。date_exp には、日付リテラル、SQL_TIMESTAMP リテラル、または DATE、DATETIME、タイムスタンプ データが格納されている列を指定できます。 |
MONTHNAME(date_exp) | date_exp の月の部分に対して、月名(たとえば、January から December)を含んでいる英語の文字列を返します。date_exp には、日付リテラル、SQL_TIMESTAMP リテラル、または DATE、DATETIME、タイムスタンプ データが格納されている列を指定できます。 |
NOW() | 現在の現地日付と時刻を 'yyyy-mm-dd hh:mm:ss.mmm' 形式で返します。 デフォルトで、ローカル時計の時刻を使用します。SET TIME ZONE を呼び出した場合、NOW() の値は、システム時計とオペレーティング システムの地域の設定を基に UTC 日付と時刻を計算し、SET TIME ZONE のオフセット値を加算することによって決定されます。 |
QUARTER(date_exp) | date_exp の四半期を 1 ~ 4 の範囲の整数値で返します。1 は 1 月 1 日~ 3 月 31 日を表します。date_exp には、日付リテラル、SQL_TIMESTAMP リテラル、または DATE、DATETIME、タイムスタンプ データが格納されている列を指定できます。 |
SECOND(time_exp) | 秒を 0 ~ 59 の範囲の整数値で返します。time_exp には、日付リテラル、SQL_TIMESTAMP リテラル、または DATE、DATETIME、タイムスタンプ データが格納されている列を指定できます。 |
SYSDATETIME() | 現在の現地日付と時刻を 'yyyy-mm-dd hh:mm:ss.nnnnnnnnn' 形式で返します。 デフォルトで、ローカル時計の時刻を使用します。小数位は、Windows 10 ではセプタ秒、Linux ではナノ秒、その他すべてのプラットフォームではマイクロ秒です。値が返されない末尾の数字部分は、9 桁までゼロで埋められます。SET TIME ZONE を呼び出した場合、SYSDATETIME() の値は、システム時計とオペレーティング システムの地域の設定を基に UTC 日付と時刻を計算し、SET TIME ZONE のオフセット値を加算することによって決定されます。 |
SYSDATETIMEOFFSET() | 現在の日付と時刻に加えて、Zen データベース エンジンが起動しているコンピューターの現在のタイム ゾーンと UTC の間の時間と分のオフセットを返します。サマー タイム(DST)が考慮されます。 返されるデフォルトの書式は、YYYY-MM-DD hh:mm:ss[.nnnnnnnnn] [<+ | ->hh:mm] です。プラス記号は、現在のタイム ゾーンが UTC より進んでいることを示します。マイナス記号は、現在のタイム ゾーンが UTC より遅れていることを示します。 |
SYSUTCDATETIME() | 現在の現地日付と時刻を 'yyyy-mm-dd hh:mm:ss.nnnnnnnnn' 形式で返します。 デフォルトで、ローカル時計の時刻を使用します。小数位は、Windows 10 ではセプタ秒、Linux ではナノ秒、その他すべてのプラットフォームではマイクロ秒です。値が返されない末尾の数字部分は、9 桁までゼロで埋められます。SET TIME ZONE を呼び出した場合、SYSUTCDATETIME() の値は、システム時計とオペレーティング システムの地域の設定を基に UTC 日付と時刻を計算することによって決定されます。 |
TIMEFROMPARTS(hour, minute, seconds, fractions, scale) | 指定された時刻パラメーターで構成される時刻値を返します。 scale を除くパラメーターのいずれかがヌルである場合は、ヌルが返されます。scale がヌルの場合は、エラーが返されます。 scale には、分数値の精度を指定します。指定できる範囲は 0 から 7 です。fractions は scale によって決まり、範囲は 0 から 9999999 です。たとえば、scale が 3 の場合、各 fractions はミリ秒を表します。fractions に指定される桁数は、scale の値以下でなければなりません。 TIMEFROMPARTS のデフォルトの書式は、hh:mm:ss[.nnnnnnn] です。 |
TIMESTAMPADD(interval, integer_exp, timestamp_exp) | interval タイプの integer_exp で示された間隔を timestamp_exp に加算したタイムスタンプを返します。 interval に指定できるキーワードは次のとおりです。 • SQL_TSI_YEAR • SQL_TSI_QUARTER • SQL_TSI_MONTH • SQL_TSI_WEEK • SQL_TSI_DAY • SQL_TSI_HOUR • SQL_TSI_MINUTE • SQL_TSI_SECOND |
TIMESTAMPDIFF(interval, timestamp_exp1, timestamp_exp2) | timestamp_exp2 が timestamp_exp1 より大きい場合に、その差である interval の整数値を返します。 interval に指定できる値は、TIMESTAMPADD と同じです。 |
WEEK(date_exp) | date_exp が 1 年の第何週目かを 1 ~ 53 の範囲の整数値で返します。date_exp には、日付リテラル、SQL_TIMESTAMP リテラル、または DATE、DATETIME、タイムスタンプ データが格納されている列を指定できます。 |
WEEKDAY(date_exp) | |
YEAR(date_exp) | 年数を整数値で返します。範囲はデータ ソースに依存します。date_exp には、日付リテラル、SQL_TIMESTAMP リテラル、または DATE、DATETIME、タイムスタンプ データが格納されている列を指定できます。 |
関数 | 説明 |
---|---|
DATABASE() | 現在のデータベース名を返します。 |
NEWID() | データ型 uniqueidentifier の一意な値を作成します。 |
USER() | 現在のユーザーのログイン名を返します。 |
関数 | 説明 |
---|---|
COALESCE(expression1, expression2[, ... ]) | 式リストを左から調べて、最初の非ヌル引数を返します。 詳細については、COALESCE も参照してください。 |
IF (predicate, expression1, expression2) | 述部(predicate)が真の場合は expression1 を返します。そうでない場合は expression2 を返します。 |
NULL() | 列をヌル値として設定します。 |
IFNULL(exp, value) | exp がヌルの場合は value が返されます。exp がヌルでない場合は exp が返されます。value に指定するデータ型は、exp のデータ型と互換性がなければなりません。 |
ISNULL(exp, value) | ヌルを value で示された値に置き換えます。exp はヌルをチェックする式です。value は exp がヌルの場合に返される値です。ヌルでない場合は exp が返されます。value に指定するデータ型は、exp のデータ型と互換性がなければなりません。 |
NULLIF (exp1, exp2) | 2 つの式が等しくない場合は、exp1 を返します。式が等しい場合、NULLIF はヌル値を返します。 |
関数 | 説明 | |
---|---|---|
CAST(exp AS type) TRY_CAST (exp AS type) | ||
CONVERT (exp, type [, style ]) TRY_CONVERT (exp, type [, style ]) | 以下の型の引数を使用して、exp を、指定された type に 変換します。 SQL_BIGINT SQL_BINARY SQL_BIT SQL_CHAR SQL_DATE SQL_DECIMAL SQL_DOUBLE SQL_FLOAT SQL_GUID SQL_INTEGER SQL_LONGVARBINARY SQL_LONGVARCHAR SQL_NUMERIC SQL_REAL SQL_SMALLINT SQL_TIME SQL_TIMESTAMP SQL_TINYINT SQL_VARCHAR | SQL_WCHAR SQL_WLONGVARCHAR SQL_WVARCHAR CONVERT の引数は、データ型のプレフィックスとして SQL_ を使用します。Zen リレーショナル データ型には SQL_ プレフィックスが含まれていません。桁数と小数位はデフォルト値を取ります。 オプション パラメーターの style は、DATETIME データ型のみに適用されます。このパラメーターを使用すると、DATETIME データ型のミリ秒部分が切り捨てられます。style の値は 20 または 120 です。どちらの値も正規の形式である yyyy-mm-dd hh:mm:ss を指定します。変換関数の例を参照してください。 |