Asa*_*sad 2 sql sql-server sql-server-2008
我将开始日期和结束日期参数传递给我的存储过程.我在这里做一个简单的测试:
DECLARE @StartDate DATE = '10/06/2013' --dd/mm/yyyy
SELECT @StartDate -- this statement running successfully
DECLARE @EndDate DATE = '30/06/2013' --dd/mm/yyyy
SELECT @EndDate -- this statement giving error
Run Code Online (Sandbox Code Playgroud)
此语句返回以下错误
消息241,级别16,状态1,行2
转换在从字符串转换日期和/或时间时失败.
有谁知道出了什么问题EndDate?
我很确定错误就在这一行:
DECLARE @EndDate DATE = '30/06/2013' --dd/mm/yyyy
Run Code Online (Sandbox Code Playgroud)
不在SELECT.SELECT因为处理一个变量应该没问题就没有意义.
我建议你使用YYYYMMDD格式.以下是我的偏好:
DECLARE @EndDate DATE = '2013-30-06' ;
Run Code Online (Sandbox Code Playgroud)
但是,某些国际化设置可能会失败.记录以下内容始终有效:
DECLARE @EndDate DATE = '20133006' ;
Run Code Online (Sandbox Code Playgroud)