ai didi

sql - 从 "YYYY-MM"varchar 自动转换到 PostgreSQL 中的日期

转载 作者:行者123 更新时间:2023-11-29 14:13:17 24 4
gpt4 key购买 nike

我有一个类型为 date 的列,其中只有年份和月份是相关的。我想在 SQL 查询中使用缩短的日期格式,例如:

SELECT * FROM my_table where date_column='2019-10';

当然现在它会产生错误:

SQL Error [22007]: ERROR: invalid input syntax for type date: "2019-12"

有没有机会让它成为可能?谢谢!


编辑:

我想要实现的是让它自动化。我知道我可以使用 to_date('2019-10','YYYY-MM') 将我的字符串转换为日期。我的问题是如何使我的查询看起来像:SELECT * FROM my_table where date_column='2019-10'。没有任何类型转换和转换。

我正在阅读有关 CREATE CAST 语句的信息,但我不确定这是否是我在这里寻找的内容。

最佳答案

我会推荐:

where date_column >= ('2019-10' || '-01')::date and
date_column < ('2019-10' || '-01')::date + interval '1 month'

如果这样的索引可用,此公式允许将 date_column 上的索引用于查询。

如果你不关心这个,你可以使用to_char():

where to_char(date_column, 'YYYY-MM') = '2019-10'

关于sql - 从 "YYYY-MM"varchar 自动转换到 PostgreSQL 中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58287433/

24 4 0
文章推荐: android - fragment 内的空白 Recyclerview
文章推荐: php - 将 2 个 SQL 表连接成 1 个数据数组
文章推荐: android - Google Play 促销代码
文章推荐: mysql - SQL 分组依据和排序依据问题
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com