INSERT into Group (Name,CreatedDate) VALUES ('Test',UTC_TIMESTAMP(), 1);
これは、mysqlで現在の日付時刻を挿入するために使用したクエリです。これをpostgresqlで使用していると、以下のエラーが発生します。
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
********** Error **********
ERROR: function utc_timestamp() does not exist
SQL state: 42883
私はnow()
を使用して以下のように試しましたが、"2016-07-07 17:01:18.410677"
のように挿入しています。 'yyyymmdd hh:mi:ss tt'
形式で挿入する必要があります。
INSERT into Group (Name,CreatedDate) VALUES ('Test',UTC_TIMESTAMP(), 1);
上記の形式でpostgresqlの挿入クエリに現在の日付時刻を挿入する方法は?
timestamp
(またはdate
またはtime
列)doNOTには「フォーマット」がありません。
表示されるフォーマットは、使用しているSQLクライアントによって適用されます。
現在の時刻を挿入するには、current_timestamp
マニュアルに記載されているとおり を使用します。
INSERT into "Group" (name,createddate)
VALUES ('Test', current_timestamp);
別の形式でその値をdisplayするには、SQLクライアントの構成を変更するか、データを選択するときに値をフォーマットします。
select name, to_char(createddate, ''yyyymmdd hh:mi:ss tt') as created_date
from "Group"
psql
(デフォルトのコマンドラインクライアント)の場合、構成パラメーターDateStyle
を使用して表示形式を構成できます。 https://www.postgresql.org/docs/current/static/runtime -config-client.html#GUC-DATESTYLE
現在の日時については、postgresqlの挿入クエリでnow()関数を使用できます。
次のリンクも参照できます。
もちろん、current_timestamp()
の結果をフォーマットできます。公式の documentation にあるさまざまなフォーマット関数をご覧ください。