web-dev-qa-db-ja.com

デュアルテーブルpostgresがタイムスタンプを返さない

私はローカルのpostgresデータベースのデュアルテーブルからnow()を選択しようとしています:

_select now() from dual;
_

行は返されません。列名を出力するだけですnow(yyyy-MM-dd HH:mm:ss.ffffff)

システム時刻を取得できないのは何ですか?

3
user136046

dualテーブルを作成しない

そもそもなぜPostgreSQLでデュアルテーブルを使用しているのですか? from句がない場合、PostgreSQLには暗黙のデュアルテーブルがあります。

_SELECT now(); -- works fine.
_

あなたもすることができます

_SELECT * FROM now(); -- works fine.
_

dualテーブルの作成は引き続き機能するはずです

PostgreSQLでデュアルテーブルが必要になることは決してありません。作成する必要はありません。構文が複雑になるだけです。また、ほとんどのPostgreSQLユーザーにとっては異質です。とはいえ、それが機能することを実証するのは簡単です。

_test=# CREATE TABLE dual AS ( VALUES (true) );
SELECT 1
test=# SELECT now() FROM dual ;
              now              
-------------------------------
 2017-10-05 15:34:34.359092-05
(1 row)
_
6
Evan Carroll