CASE函数用于计算多个条件并为每个条件返回单个值。CASE 函数通常的用途是使用可读性更强的值替换代码或缩写。SQL Server联机丛书里的解释往往像严谨的法律条文一样生涩难啃,往往读了个稀里哗啦也不知道到底讲了个什么意思,用自然语言描述代码真是忒复杂咧,还是先看代码来的更直接^O^一个判断题的答案有对和错两种状态,我们在数据表里表示的时候并不希望使用文字来存储,这里选择使用int数据类型用1表示正确,0表示错误SELECT PKID,QuestionID,Result=CASE WHEN Anser=1 THEN '正确' WHEN Anser=0 THEN '错误' END,UserID From Ansers看到了吧 这样得到的查询结果就是“可读性更强的值”了另一种方法:用CASE给数据分类,我们根据同学们某门功课的成绩来划级别:90以上优秀,60-90合格,60以下补考SELECT PKID,Level=CASE WHEN Score>=90 THEN '优秀' WHEN Score>=60 AND Score<90 THEN '及格' WHEN Score<60 THEN '补考' END,UserID FROM Scores貌似开始的定义不是怎么陌生了哈 ASP.NET里用GridVie……
今天在调试书籍库时,注册用户时发现一个奇怪的错误。
只要注册用户时便会自动提示“用户名已存在”而退出,但实际上数据库中是注册成功的。但再次用这个用户名重复注册时,却能正确提示已注册。
开始考虑可能是某些字段或判断有问题,如if not (rs.bof and rs.eof) then判断有问题,改为if not rs.eof then等,均无效!感觉是if和else中的内容均被执行了一次,真是奇怪!
上网查也没有解决方法!
怀疑是逻辑错误,最后在网上看到有一个提示,有可能是动态页面执行了两次的原因,这给了启发,先检查动态页面,没有发现任何错误。如果将重复用户名判断取消,数据库中便会插入两次。于是判断确实是因为动态页面执行了两次的原因。但是什么原因导致提交两次呢?
……