运行查询时遇到以下错误,无法找到解决方案。
从字符串转换日期和/或时间时转换失败。
select * from creditcard
where cast(left(expdate,2) + '/01/' + right(expdate,2) as date) < '08/01/17'
and paycode <> ''
表格中的所有日期都显示为'07 / 17'
答案 0 :(得分:0)
declare @myfakedate varchar(25) = '07/17'
declare @mydatestr varchar(25)
Select @mydatestr = stuff(@myfakedate,3,0,'/01')
select @mydatestr
会给你&#39; 07/01/17&#39;
答案 1 :(得分:0)
如果您有虚假数据,请使用2012+用户try_convert()。否则,标准的convert()应该
示例强>
Select *
From YourTable
Where try_convert(date,replace(expdate,'/','/01/'))<'08/01/17'