我有一个SQL查询中,我会路过dd/mm/yyyy,但是SQL查询需要mm/dd/yyyy。
dd/mm/yyyy
mm/dd/yyyy
如何启用此查询以dd/mm/yyyy根据正确的格式获取并显示正确的结果?在SQL Server 2008中实现此目标的最佳方法是什么?
SELECT int_ExchangeRateId, int_LocationId, dtm_Date FROM ExchangeRate WHERE dtm_Date >= '01/02/2006' AND dtm_Date <= '12/02/2006' AND int_LocationId = 98
这项工作正确地:
SELECT int_ExchangeRateId, int_LocationId,dtm_Date FROM ExchangeRate WHERE CAST(dtm_Date AS DATE) BETWEEN '2006-02-02' AND '2006-02-12' AND int_LocationId=98
对于查询,我将使用YYYY-MM-DD格式的日期。关于输出,请参见kalyan的答案。
YYYY-MM-DD
编辑: 总结如下(感谢marc_s)的意见,有必要使用的格式YYYYMMDD时不包括部分时间 ,除非 您使用的是新的日期类型date,datetime2并datetimeoffset在SQL Server 2008中。
YYYYMMDD
date
datetime2
datetimeoffset