はじめに

vsqlから現在時刻やトランザクション開始時刻を確認する方法をご紹介します。

現在時刻を確認する

以下のいずれかの関数を使うことで、現在時刻を確認することができます。

getdateとsysdateの違い

getdateは括弧「()」を必要としますが、sysdateでは括弧「()」はオプション扱いのため、括弧が無くても使えます。

トランザクション開始時刻を確認するには

以下のいずれかの関数を使うことで、トランザクション開始時刻を確認することができます。

時間や日付の情報確認に関する補足

年、月、日、時間など任意の情報を確認するには以下の様な関数を利用します。
ここでは主な関数を挙げておきます。

関数内容
DATEYYYY-MM-DDで日付を表示

dbadmin=> select date(sysdate);
date
------------
2018-08-08
(1 row)
YEAR年を表示

dbadmin=> select year(sysdate);
year
------
2018
(1 row)
MONTH月を表示

dbadmin=> select month(sysdate);
month
-------
8
(1 row)
DAY日を表示

dbadmin=> select day(sysdate);
day
-----
8
(1 row)
HOUR時間を表示

dbadmin=> select hour(sysdate);
hour
------
17
(1 row)
MINUTE分を表示

dbadmin=> select minute(sysdate);
minute
--------
7
(1 row)
SECOND秒を表示

dbadmin=> select second(sysdate);
second
--------
59
(1 row)
DAYOFYEAR1月1日から何日目か表示

dbadmin=> select dayofyear(sysdate);
dayofyear
-----------
194
(1 row)
DAYOFMONTH当月の何日目か表示

dbadmin=> select dayofmonth(sysdate);
dayofmonth
------------
13
(1 row)
DAYOFWEEK日曜日はじまりの曜日を数字で表示
(日=1 / 月=2 / 火=3 / 水=4 / 木=5 / 金=6 / 土=7)

dbadmin=> select dayofweek(sysdate);
dayofweek
-----------
2
(1 row)

参考情報

Date/Time Functions
https://my.vertica.com/docs/9.1.x/HTML/index.htm#Authoring/SQLReferenceManual/Functions/Date-Time/DateTimeFunctions-1.htm

検証バージョンについて

この記事の内容はVertica 9.1で確認しています。