很抱歉再次打扰你,我在制定查询时遇到了困难。我有两列日期值。 (见下面的示例)
Posting Date col B
Feb 02,2013 feb 01, 2013
Feb 02, 2013
feb 15, 2013
mar 03,2013 mar 01, 2013
april 12, 2013 april 12, 2013
如果我的参数是基于col B的日期范围(例如,在02/01/2013和02/28/2013之间的colB)。 我想在过帐日期显示所有值,这是我过滤的日期范围的一部分。比如,将2月和2013年作为年份
结果:
Posting Date col B
Feb 02,2013 feb 01, 2013
Feb 02, 2013
feb 15, 2013
答案 0 :(得分:0)
这是你要找的吗?您的Posting_Date列的字段类型是日期吗?如果是这样,那么这应该有效:
SELECT Posting_Date, ColB
FROM YourTable
WHERE Posting_Date >= '2013-02-01'
AND Posting_Date < '2013-03-01'
我更喜欢使用>=
和<
而不是BETWEEN
。
如果您的Posting_Date字段存储为varchar,请使用STR_TO_DATE
:
SELECT Posting_Date, ColB
FROM YourTable
WHERE STR_TO_DATE(Posting_Date , '%M %d,%Y') >= '2013-02-01'
AND STR_TO_DATE(Posting_Date , '%M %d,%Y') < '2013-03-01'