select top 10 * from SyssystemLog where SfcNo='SS20081824.' and CreatTime>=CAST(CAST(GETDATE() AS DATE) AS VARCHAR(10)) + ' 10:00:00'
此SQLSERVER不报错
select * from SyssystemLog where SfcNo='SS20081824.' and CreatTime>=CAST(CAST(GETDATE() AS DATE) AS VARCHAR(10)) + ' 10:00:00'
这个SQL预计报错从字符串转换日期和/或时间时,转换失败
把
CAST(CAST(GETDATE() AS DATE) AS VARCHAR(10))
改成
CONVERT(VARCHAR(10), GETDATE(), 23)
你用这个语句测试下看
select CAST(CAST(GETDATE() AS DATE) AS VARCHAR(10)) from SyssystemLog where CreateTime>='2019-01-01 12:30:00'
是不是结果不是你想要的
另外SyssystemLog不应该是SystemLog吗?(拼写问题?)
你的意思是加上top 10不报错?按理说不会,你可以把不报错的代码复制粘贴下,去掉 top 10,下面的代码可能存在非法的字符或者细微的错误。