我有一个名为PODate的列,其日期已格式化。
我想从格式化的列日期中得到一个特殊的日期或月份甚至年份。但是我不知道该查询使用什么功能。
我想查询一个从选定月份获得的查询。或根据选择的日期从一周开始。
仅当我选择第9个月时,输出才会像,然后它将返回仅第9个月的日期。
谢谢
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以在MySQL中使用regular expressions。请参阅文档here。
SELECT * FROM MyTable WHERE date REGEXP '^.{5}09.*'
这将返回表中第六和第七个字符分别为'09'的所有条目,即,对于您的情况,它将返回表中日期为9月的所有条目。
将其打断,^
表示我们要开始查看字符串的开头。 .
代表任意字符,{5}
意味着在需要重复五次之前发生的任何事情,即.{5}
代表五个任意字符。 .*
代表要跟随的任意数量的任意字符(可能为零)。
可以为其他情况设计类似的表达式。
答案 2 :(得分:0)
您可以使用Extract
函数。
定义:
EXTRACT()函数从给定日期提取零件
示例:
对于Month
SELECT EXTRACT(MONTH FROM "2018-09-15");
对于Week
SELECT EXTRACT(WEEK FROM "2018-09-16");
它可以提取:
您可以在此处详细了解文档Extract() Function
编辑:
您可以在Extract Function
条件下使用此where
来解决您的情况:
示例:
select
your_date
from
your_table
where
extract(MONTH FROM your_date) = '9'