【问题标题】:How to create query with format date DD-MM-YYYY如何使用格式日期 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 进行了编辑
  • 列名无关。列的数据类型是必不可少的。

标签: database postgresql


【解决方案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',如何在上面更改代码
    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    相关资源
    最近更新 更多