我有这样的查询数据库:
SELECT * FROM TABLE WHERE start_date = '01-10-2016' //DD-MM-YYYY
但上面的代码错误,实际上在数据库日期格式是YYYY-MM-DD
。
那么如何创建日期格式为DD-MM-YYYY
的查询呢?
正确的日期列(数据类型date
!)没有格式。然后,这就足以让您的数据输入日期列正确,使用to_date()
非标准输入格式,如@Shiva张贴。或者更好的是,总是以ISO 8601格式"YYYY-MM-DD"开始提供日期字面值,该格式适用于任何区域设置。
如果
您正在运行一个破碎的设计与日期存储为文本,然后结合to_date()
和to_char()
将任何有效的日期格式转换为任何其他文本格式:
SELECT * FROM tbl
WHERE start_date = to_char(to_date('01-10-2016', 'DD-MM-YYYY'), 'YYYY-MM-DD');
可能您可以使用to_date
函数将上述格式转换为标准格式。
SELECT to_date('01-10-2016', 'DD-MM-YYYY');
----------
2016-10-01
1 row
https://www.techonthenet.com/postgresql/functions/to_date.php