【问题标题】:DATE_FORMAT() equivalent in PostgreSQLPostgreSQL 中的 DATE_FORMAT() 等效项
【发布时间】:2012-10-22 19:47:14
【问题描述】:

我在mysql中有这个查询

SELECT * 
FROM `calendar` 
WHERE DATE_FORMAT(startTime, "%Y-%m-%d") = '2010-04-29'

如何转换为 Postgresql 查询?

【问题讨论】:

标签: mysql sql postgresql


【解决方案1】:

基本上,MYSQL 中使用DATE_FORMAT() 的查询将日期转换为字符串。如果要将其与日期进行比较,请不要使用DATE_FORMAT(),而是使用DATE()。试试这个,在PostgreSQL 中,将时间戳转换为日期,

SELECT * 
FROM   "calendar"
WHERE  "startTime"::date = '2010-04-29'

【讨论】:

  • 不知何故我的查询没有返回正确的结果。在我的数据库库中,当我尝试“startTime”::date = '2012-10-05' 时,我的日期存储为 2012-10-05 09:00:00+08 ,我没有得到任何结果
  • startTime 列的数据类型是什么?
  • datetime ,我想我的连接有问题,我会检查一下。感谢您的帮助
【解决方案2】:
SELECT *
FROM calendar
WHERE starttime::date = '2010-04-29'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-02
    • 2012-08-16
    • 2022-01-17
    • 1970-01-01
    • 2019-11-11
    • 2013-05-03
    • 2013-01-31
    • 1970-01-01
    相关资源
    最近更新 更多