当前位置: 首页 > 知识库问答 >
问题:

查询varchar日期,介于

任飞龙
2023-03-14

如何使用BETWEEN运算符选择存储为varchar(格式:“2012.04”)的日期?

我需要在此字段上选择一年间隔。

现在我正在尝试,但这会导致我的MySQL语法错误:

SELECT DISTINCT monthcol
FROM bo_alerts
WHERE STR_TO_DATE(monthcol , '%Y.%m') BETWEEN
           (STR_TO_DATE('2012.04', '%Y.%m') AND STR_TO_DATE('2011.03', '%Y.%m'))
ORDER BY monthcol DESC

日期现在是静态的(用于测试),但我需要计算BETWEEN中的第二个值,以便它与BETWEEN部分的第一个值精确为-1年。

非常感谢你!!

共有2个答案

鲜于光辉
2023-03-14

Renove<代码>' 开始工作日期。

尝试以下查询:

SELECT DISTINCT monthcol 
FROM bo_alerts 
WHERE concat(LEFT(monthcol,4),RIGHT(monthcol,2)) BETWEEN 201204  AND 201103
ORDER BY monthcol DESC
段干华晖
2023-03-14

既然日期似乎是固定长度的字符串,为什么不使用字符串比较呢

SELECT DISTINCT monthcol
FROM bo_alerts
WHERE monthcol BETWEEN '2011.03' AND '2012.04'
ORDER BY monthcol DESC

请注意,我颠倒了日期的顺序,以满足大多数SQL实现的第一个小于第二个。

 类似资料:
  • 本文向大家介绍Mysql日期查询的详细介绍,包括了Mysql日期查询的详细介绍的使用技巧和注意事项,需要的朋友参考一下 查询当前日期 查询当前日期和时间 查询今天的数据 查询昨天的数据 查询最近七天的数据 查询最近三十天的数据 查询本周的数据 查询上周的数据 查询当月的数据 查询上月的数据 查询本季度的数据 查询上季度的数据 查询上半年(六个月)的数据 查询今年的数据 查询去年的数据 到此这篇关于

  • 本实例使用有关日期处理和日期格式化的类实现一个日期查询的功能,即查询指定日期所在周的周一日期、两个指定日期间相差的天数和指定日期为所在周的星期几的日期 3 个功能。 从功能上来看,本实例至少需要定义 3 个方法,分别完成:获取指定日期所在周的周一日期、获取两个指定日期的相差天数以及获取指定日期为所在周的星期几的日期这 3 个功能,同时需要定义 Date 类型的日期与 String 类型之间的转换方

  • 如果日期相同,则使用进行查询将无法正常工作。它更像是。 但如果我给query param加上1秒,它就会工作。 下面是示例查询; 我有一个文档,它是时间戳。 此查询与日期为的文档相匹配,如果我将查询时间戳增加一个,如。 我正在使用mongo控制台,但我在php中遇到了与MongoDate相同的问题 编辑:查询的输出 edit2:问题是mongo的php扩展。它记录了“当文档发送到/从数据库发送时,

  • 问题内容: 我想按日期订购。 例如 我已经尝试过: 伯,这是行不通的。 我得到这个代替: 你能帮我吗? 问题答案: 如果要按日期排序, 请将其存储为日期而不是字符串。 除非您的日期字符串的格式为,否则它不会按您希望的顺序排序。 数据库可以按原样进行足够的工作,而无需人们加倍努力,因此,您应该尽可能地避免我喜欢的 SQL体操。 将其存储为日期,然后(如果需要)使用日期函数以形式获取它。 这样会比您尝

  • 问题内容: 我有这段代码将字符串转换为日期对象 我想知道如果当前日期落在2天我的阵列中得到之间和 问题答案: 迅捷2 你已经在你的日期字符串转换的代码来。假设您在和中都有两个日期,那么您要做的就是检查当前日期是否在以下日期之间: 编辑: 如果要执行 包含 范围检查,请使用以下条件:

  • 问题内容: 我在集合中将值存储为java.util.Date(),但是当我查询以获取两个特定日期之间的值时,最终得到的值超出了范围。这是我的代码: 插入 查询 当我在和之间查询时(基本上是fromDate = toDate),我得到的日期绝对不可能的对象。我在这里想念什么? 问题答案: 您正在执行的操作是仅在键覆盖中使用丢失运算符进行查询。您想要的是: