我有一个关于在感染日期之前获取多行的问题:
patientID Appt_reason dateofProcedure
1 1/2/2016
1 1/3/2016
1 infectoin 1/4/2016
2 3/1/2016
2 3/3/2016
3 3/4/2016
3 infectoin 3/5/2016
3 3/6/2016
3 3/7/2016
5 2/2/2016
5 infectoin 2/3/2016
5 2/4/2016
我需要获得这样的行
patientID Appt_reason dateofProcedure
1 1/2/2016
1 1/3/2016
1 infectoin 1/4/2016
3 3/4/2016
3 infectoin 3/5/2016
5 2/2/2016
5 infectoin 2/3/2016
有人知道答案吗?感谢
答案 0 :(得分:3)
SELECT
patientID,
Appt_reason,
dateOfProcedure
FROM
tableName
WHERE
dateOfProcedure < '2016-04-03'
注意我使用的是ISO-8601格式,这种格式是明确的,并且得到了所有现代数据库系统的支持。
请注意,它使用<
(小于)运算符而不是<=
(小于或等于),因为在SQL中,日期值实际上可以是日期 time < / em>值,因此'2016-02-01' >= '2016-02-01 01:00'
实际上是假的,因为'2016-02-01'
的隐藏时间组件等于午夜,而凌晨1点则是午夜之后。