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)
但它不适用于开发.
有没有办法让查询在两个数据库上都能正常工作?
如果您传入05/06/2012,如果这意味着5月6日或6月5日,您的代码应该如何知道?它不能.
解决方案是首先停止以这些格式传递/存储日期.如果您20120605在所有服务器上传递6月5日,无论区域设置,排序规则,语言,日期格式设置等...
所以你应该总是说:
WHERE FechaDesde <= '20120625'
Run Code Online (Sandbox Code Playgroud)