不同格式的SQL Server日期时间比较

时间:2011-09-05 12:32:56

标签: sql sql-server-2008

我有一个SQL查询,我将在其中传递dd/mm/yyyy,但SQL查询需要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

2 个答案:

答案 0 :(得分:5)

对于查询,我会使用YYYY-MM-DD格式的日期。至于输出,请参阅kalyan的答案。

编辑:总结下面的评论(感谢marc_s),当时间部分未包含时,必须使用格式YYYYMMDD,除非你在SQL Server 2008中使用新的日期类型datedatetime2datetimeoffset

答案 1 :(得分:2)

为此,请参阅DateTime Formating,通过提供某些参数,我们可以将日期格式化为所需的格式。