如何使用格式日期 DD-MM-YYYY 创建查询
Posted
技术标签:
【中文标题】如何使用格式日期 DD-MM-YYYY 创建查询【英文标题】:How to create query with format date DD-MM-YYYY 【发布时间】:2016-11-04 04:00:56 【问题描述】:我有这样的查询数据库:
SELECT * FROM TABLE WHERE start_date = '01-10-2016' //DD-MM-YYYY
但上面的代码错误,实际上数据库日期格式是YYYY-MM-DD
。
那么如何创建日期格式为DD-MM-YYYY
的查询呢?
【问题讨论】:
显然,你需要公开你的date
列的数据类型。
我已使用列名 start_date 进行了编辑
列名无关。列的数据类型是必不可少的。
【参考方案1】:
正确的日期列 (data type date
!) 没有格式。然后,为日期列正确输入数据就足够了,使用to_date()
用于非标准输入格式like @Shiva posted。或者更好的是,始终以 ISO 8601 格式 'YYYY-MM-DD' 开头的日期文字,它适用于 any 语言环境设置。
如果您正在运行一个带有日期存储为文本的损坏设计,然后结合to_date()
and to_char()
将任何有效的日期格式转换为任何其他文本格式:
SELECT * FROM tbl
WHERE start_date = to_char(to_date('01-10-2016', 'DD-MM-YYYY'), 'YYYY-MM-DD');
【讨论】:
【参考方案2】:也许你可以使用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
【讨论】:
如果我有列'start_date',如何在上面更改代码以上是关于如何使用格式日期 DD-MM-YYYY 创建查询的主要内容,如果未能解决你的问题,请参考以下文章
将日期格式从 dd-mm-yyyy 转换为 YYMMDD [重复]
在Salesforce案例对象中将创建日期yyyy-mm-dd的默认格式转换为dd-mm-yyyy
Dart - 如何将 yyyy-MM-dd 中的简单日期字符串的格式更改为 dd-MM-yyyy