SQL Server 2008:通用转换为日期

gos*_*iwi -2 sql t-sql sql-server

我的查询中有一点问题.我的本地开发服务器上的数据库使用法语日期格式(dd/mm/yyyy)运行,但我的发布服务器是北美格式(mm/dd/yyyy).

所以这会引发错误

SELECT CodPeriodoInsc, 
       CONVERT(VARCHAR, FechaDesde, 103) AS FechaDesde, 
       CONVERT(VARCHAR, FechaHasta, 103) AS FechaHasta 
FROM SedesPeriodosInscripcion
WHERE FechaDesde <= '25/06/2012'
Run Code Online (Sandbox Code Playgroud)

但它适用于开发,这适用于发布

SELECT CodPeriodoInsc,
       CONVERT(VARCHAR, FechaDesde, 103) AS FechaDesde, 
       CONVERT(VARCHAR, FechaHasta, 103) AS FechaHasta 
FROM SedesPeriodosInscripcion
WHERE FechaDesde <= '06/25/2012'
Run Code Online (Sandbox Code Playgroud)

但它不适用于开发.

有没有办法让查询在两个数据库上都能正常工作?

Aar*_*and 5

如果您传入05/06/2012,如果这意味着5月6日或6月5日,您的代码应该如何知道?它不能.

解决方案是首先停止以这些格式传递/存储日期.如果您20120605在所有服务器上传递6月5日,无论区域设置,排序规则,语言,日期格式设置等...

所以你应该总是说:

WHERE FechaDesde <= '20120625'
Run Code Online (Sandbox Code Playgroud)