表:userlist里有列username,表示学生学号(8位数字,前四位是入学年份)
现在要求今年是大四的学生。我写的如下(就是取前四位数与当前时间的年份减去3相比较:
SELECT username
FROM dbo.userlist
WHERE (LEFT(username, 4) = CONVERT(varchar(4), YEAR(GETDATE() - 3)))
但是求不到结果,不知道如何改。
现在要求今年是大四的学生。我写的如下(就是取前四位数与当前时间的年份减去3相比较:
SELECT username
FROM dbo.userlist
WHERE (LEFT(username, 4) = CONVERT(varchar(4), YEAR(GETDATE() - 3)))
但是求不到结果,不知道如何改。
解决方案 »
- 关于服务器控件按钮用样式的问题。。。给点思路,或例子。
- 对于这个问题,我真心跪了. Could not load file or assembly 'System.Drawing,
- ASP页面可以指定最小宽度吗?如果不行,有什么替代方法吗?
- asp.net 2.0中关于page.clientscript.GetWebResourceUrl方法的疑问
- request只接收了2个中文字符
- 急~~~~ group by 问题
- 我给我的网页写了个基类,怎么在基类中检测到有非法参数后防止继承的页面执行on_load方法?
- 一个简单的数据库插入问题~!~
- NetSDK这个数据库怎么管理?
- c# 对于下面代码怎么运行,新手不会弄
- 请教一个问题获取其他网站内容的问题
- session问题.转到另一个页面后,session就取不到了,请看详细描述.谢谢
SELECT username
FROM dbo.userlist
WHERE (LEFT(username, 4) = CONVERT(varchar(4), YEAR(GETDATE())- 3))
是2005
FROM dbo.userlist
WHERE (LEFT(username, 4) = CONVERT(varchar(4), YEAR(GETDATE()) - 3))
这样试下
SELECT username
FROM dbo.userlist
WHERE LEFT(username, 4) = Convert( Varchar(4),Year(dateadd(day,-3,getdate() )) )
SELECT YEAR(GETDATE()) - 3 结果2002
SELECT YEAR(GETDATE() - 3) 结果2005 你只是把日减了3天而已