@startdate时间两个已经是datetime类型,拼接字符串的时候是需要先转换为字符的所以,你的写法中,可以将时间变量定义为varchar(10)至于字符串内部又将字符转换回date类型也不需要,SQLServer在比较数据时会发生隐式转换为同一数据类型请采纳答案,支持我一下。