PostgreSQL 中的 DATE_FORMAT() 等效项
Posted
技术标签:
【中文标题】PostgreSQL 中的 DATE_FORMAT() 等效项【英文标题】:DATE_FORMAT() equivalent in PostgreSQL 【发布时间】:2012-10-22 19:47:14 【问题描述】:我在mysql中有这个查询
SELECT *
FROM `calendar`
WHERE DATE_FORMAT(startTime, "%Y-%m-%d") = '2010-04-29'
如何转换为 Postgresql 查询?
【问题讨论】:
postgresql.org/docs/devel/static/functions-formatting.html 【参考方案1】:基本上,MYSQL
中使用DATE_FORMAT()
的查询将日期转换为字符串。如果要将其与日期进行比较,请不要使用DATE_FORMAT()
,而是使用DATE()
。试试这个,在PostgreSQL
中,将时间戳转换为日期,
SELECT *
FROM "calendar"
WHERE "startTime"::date = '2010-04-29'
SQLFiddle Demo
other source
【讨论】:
不知何故我的查询没有返回正确的结果。在我的数据库库中,当我尝试“startTime”::date = '2012-10-05' 时,我的日期存储为2012-10-05 09:00:00+08
,我没有得到任何结果
startTime
列的数据类型是什么?
datetime ,我想我的连接有问题,我会检查一下。感谢您的帮助【参考方案2】:
SELECT *
FROM calendar
WHERE starttime::date = '2010-04-29'
【讨论】:
以上是关于PostgreSQL 中的 DATE_FORMAT() 等效项的主要内容,如果未能解决你的问题,请参考以下文章
未绑定命名参数:Spring Boot 中的 DATE_FORMAT 本机查询
mysql 中的日期格式。date_format( ) 转换格式
Mysql中的DATE_FORMAT(data, format)
为啥 date_format() 在 Pyspark 中返回错误的一周?