• ベストアンサー

Postgresql 日付 文字列比較

現在Postgresqlの日付 文字列比較で困っています。 あるテーブルに更新日付を入力するカラムがあるのですが、 「SELECT * FROM test WHERE updatetime = '2013/07/26 12:07:13'」 というSQLを実行した場合、updatetimeが「2013/07/26 12:07:13」のデータが取得できません。 Create Castでキャストを作ってやる必要があるのでしょうか? もしくは別の方法がございましたらご教授をお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 カラム | 型 | 修飾語 -------------+-----------------------------+---------- updatetime | time with time zone | not null value | integer | updatetime2 | timestamp with time zone | updatetime3 | timestamp without time zone | 上記のカラム構成で select * from mast where updatetime3 = '2013-07-26 12:07:13' を実行すればその該当レコードが取れてます。 何か他に条件入ったりしてないですよね。

tyourou0830
質問者

お礼

LancerVII様 原因が分かりました。 updatetimeの精度が6になっていたためでした。 「2013-07-26 12:07:13」× 「2013-07-26 12:07:13.123456」○ そのためSQL文を 「SELECT * FROM test WHERE updatetime = '2013/07/26 12:07:13.123456'」 と変更したら抽出できました。 A5M2というツールでは小数点以下が表示されなかっため勘違いをしていました。

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 updatetimeの型は何でしょうか? 私の試した環境では取得できます。 カラム | 型 | 修飾語 ------------+---------------------+---------- updatetime | time with time zone | not null value | integer |

tyourou0830
質問者

お礼

解決できました。 ありがとうございました。

tyourou0830
質問者

補足

updatetimeの型は「timestamp」です。

関連するQ&A

専門家に質問してみよう