我真的无法得到它。
代码 -
select *
from Bill_Detail
where DateTimeofBilling > '8/18/2013 12:00:00 PM'
and DateTimeofBilling < '8/20/2013 12:00:00 AM'
psudocode -
select all
from Bill_Detail
where DateTimeofBilling greater than 8/18/2013
and DateTimeofBilling less than 8/20/2013
我需要获取从2013年8月18日到2013年8月20日的行,但代码不返回任何内容。
我认为这是对此的充分解释。有人可以帮忙吗?
答案 0 :(得分:2)
为什么使用PM
(中午,而不是午夜)进行“大于”检查?您的伪代码假定您也想使用PM。
select *
from Bill_Detail
where DateTimeofBilling >= '20130818'-- if you want to include this day completely
and DateTimeofBilling < '20130820' -- if you want to exclude this day completely
答案 1 :(得分:0)
试试这个..
select * from Bill_Detail where DateTimeofBilling > '2013/08/18 12:00:00 PM' and DateTimeofBilling < '2013/08/20 12:00:00 AM'
答案 2 :(得分:0)
如果您的列DateTimeofBilling
是类型日期时间,请将其与日期进行比较,而不是与varchar进行比较:
select *
from Bill_Detail
where
DateTimeofBilling >= convert(date, '20130818', 112) and
DateTimeofBilling < convert(date, '20130821', 112)
这个会返回DateTimeofBilling的行,其中日期大于或等于2013-08-18
且小于或等于2013-08-20
答案 3 :(得分:0)
在
之间使用SELECT *
FROM Bill_Detail
WHERE DateTimeofBilling BETWEEN '20130818 000000'
AND DateTimeofBilling < '2013/08/20 12:00:00 AM'
答案 4 :(得分:0)
试试这个,
select * from Bill_Detail where DateTimeofBilling between '8/18/2013 12:00:00 PM' and '8/20/2013 12:00:00 AM'
答案 5 :(得分:0)
SELECT * FROM Bill_Detail WHERE DateTimeofBilling>='8/18/2013 12:00:00 PM' AND DateTimeofBilling<='8/20/2013 12:00:00 AM' ORDER BY DateTimeofBilling