我有一个名为的表quiz,它有3列:
enterYear enterMonth quizMark
2013 7 9.5
2013 8 8.5
2013 9 9.75
2013 10 10
2013 11 7.75
2013 12 8.5
2014 1 5
2014 2 8.75
2014 3 10
Run Code Online (Sandbox Code Playgroud)
现在,我想选择2013年9月之后输入的条目(包括9月).我试过这个错了:
select * from quiz q where q.year>=2013 and q.month>=9
Run Code Online (Sandbox Code Playgroud)
这省略了2014年的所有条目,因为它们的月数小于9,但我确实希望它们在结果中,因为它们是在2013年9月之后.
那么,我试过这个
select * from quiz q
where Convert(date, CAST(q.year as varchar(4))+'/'+CAST(q.month as varchar(2))+'/01')>='2013/9/01'
Run Code Online (Sandbox Code Playgroud)
它显示了半秒钟的结果,然后通过给出错误消息迅速消失:
从字符串转换日期和/或时间时,消息241,级别16,状态1,行1转换失败."
有人可以帮助使用正确的代码来实现结果,非常感谢!
select * from quiz q where q.year>2013 or(q.year=2013 and q.month>=9)
Run Code Online (Sandbox Code Playgroud)