はじめに
vsqlから現在時刻やトランザクション開始時刻を確認する方法をご紹介します。現在時刻を確認する
以下のいずれかの関数を使うことで、現在時刻を確認することができます。
1 2 3 4 5 |
dbadmin=> select getdate(); getdate ---------------------------- 2018-08-08 13:56:51.336947 (1 row) |
1 2 3 4 5 |
dbadmin=> select sysdate(); sysdate ---------------------------- 2018-08-08 14:03:27.715059 (1 row) |
getdateとsysdateの違い
getdateは括弧「()」を必要としますが、sysdateでは括弧「()」はオプション扱いのため、括弧が無くても使えます。トランザクション開始時刻を確認するには
以下のいずれかの関数を使うことで、トランザクション開始時刻を確認することができます。
1 2 3 4 5 |
dbadmin=> select now(); now ------------------------------- 2018-08-08 13:52:46.431073+09 (1 row) |
1 2 3 4 5 |
dbadmin=> select transaction_timestamp(); transaction_timestamp ------------------------------- 2018-08-08 13:52:46.431073+09 (1 row) |
時間や日付の情報確認に関する補足
年、月、日、時間など任意の情報を確認するには以下の様な関数を利用します。ここでは主な関数を挙げておきます。
関数 | 内容 |
---|---|
DATE | YYYY-MM-DDで日付を表示dbadmin=> select date(sysdate); |
YEAR | 年を表示dbadmin=> select year(sysdate); |
MONTH | 月を表示dbadmin=> select month(sysdate); |
DAY | 日を表示dbadmin=> select day(sysdate); |
HOUR | 時間を表示dbadmin=> select hour(sysdate); |
MINUTE | 分を表示dbadmin=> select minute(sysdate); |
SECOND | 秒を表示dbadmin=> select second(sysdate); |
DAYOFYEAR | 1月1日から何日目か表示dbadmin=> select dayofyear(sysdate); |
DAYOFMONTH | 当月の何日目か表示dbadmin=> select dayofmonth(sysdate); |
DAYOFWEEK | 日曜日はじまりの曜日を数字で表示 (日=1 / 月=2 / 火=3 / 水=4 / 木=5 / 金=6 / 土=7) dbadmin=> select dayofweek(sysdate); |
参考情報
Date/Time Functionshttps://my.vertica.com/docs/9.1.x/HTML/index.htm#Authoring/SQLReferenceManual/Functions/Date-Time/DateTimeFunctions-1.htm