显示所选参数的那些部分的值

时间:2013-04-05 04:30:50

标签: mysql sql-server

很抱歉再次打扰你,我在制定查询时遇到了困难。我有两列日期值。 (见下面的示例)

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

1 个答案:

答案 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'

SQL Fiddle Demo