我最近被告知BETWEEN
在 SQL 中使用该方法有些不可靠,因此我应该使用DATEDIFF()
. 但是,另一位程序员告诉我情况并非如此,BETWEEN
只要日期格式正确,该方法在所有情况下都可以出色地工作。
请有人可以通过说明哪种方法更好以及为什么来解决这场辩论?
目前我的日期范围 SQL 如下所示:
DATEDIFF(d,'01-Jan-1970',SIH.[Something_Date]) >= 0 AND DATEDIFF(d,'01-Jan-2013',SIH.[Something_Date]) <= 0
但是,如果我能确定它是可靠的,我宁愿这样写:
SIH.[Something_Date] BETWEEN '01-Jan-1970' AND '01-Jan-2013'
在这种特殊情况下,我使用的是 MsSQL,但是,我已经标记了 MySQL,因为我想知道这是否也适用于此