hur.cn - 华软网

 热门搜索

请问一个在sql语句中的函数的问题!

  作者:未知    来源:网络    更新时间:2018/7/4
数据库中我用varchar 存放 学员的成绩,现在我想检索出 成绩小于60分的学生总数?
  select count(*) from stu  where real(cj)<60;

这样子得不到结果,请问应该用什么函数啊
------华软网友回答------
你的方法是对的啊!
Create Table TEST
(学生学号 Varchar(10),
 学科编号 Int,
 分数 Int)
--插入数据
Insert TEST Values('01',              1,          100)
Insert TEST Values('02',              1,           90)
Insert TEST Values('03',              1,           80)
Insert TEST Values('01',              2,           90)
Insert TEST Values('02',              2,          100)
Insert TEST Values('03',              2,           70)
Insert TEST Values('01',              3,           90)
Insert TEST Values('02',              3,          100)
Insert TEST Values('03',              3,           95)
GO
select count(*) from TEST where 分数<90
我测试过的可以啊

------华软网友回复------
real(cj)<60

real()是什么?呵呵,偶没见过这个东东
------华软网友回复------
你看错了,大哥,我是用 varchar 存放  成绩 的  
 数据库用的是 access
------华软网友回复------
select count(*) from stu  where cj < '60';
这样不可以吗?
------华软网友回复------

支持楼上
字符型数据要加单引号
------华软网友回复------
修改数据库,不要用varchar存成绩。用数字类型存放
------华软网友回复------
最好用数值类型存放成绩,
楼主的real 是什么意思?
要把 cj 转换成浮点数类型吗?
至少在 access 中是没有这个数据库函数的,   把real去掉看看
------华软网友回复------
select count(*) from stu where cj < '60' and cj >='00';
试试这个。
------华软网友回复------
SQL里面没有你写的那个real,直接写select count(*) from stu  where cj < '60'就可以了

------华软网友回复------
你用动态SQL试一下,字符串比较'6' > '60'的。
long ll_count

ls_sql = "select count(*) from stu  where cast(cj as int) < 60"
declare cursor_rtn dynamic cursor for sqlsa;
prepare sqlsa from :ls_sql;
open dynamic cursor_rtn ;
fetch cursor_rtn into :ll_count;
messagebox("",ll_count)

------华软网友回复------
楼上的说得差不多的,有个问题‘8’〉‘60’这个为真的啊,字符串比较时会这样的,
所以建议你在存入数据时用3位的样式,即008,060来表示成绩,在取数据出的时候在加工一下,把前面的0去掉就好
那样select count(*) from stu  where cj < '60'就应该没问题了,


还有就是你直接把成绩的改为INT类型就好了
------华软网友回复------
对了还不行,改为三位字符串时的Select语句应该这样才行
select count(*) from stu  where cj < '060'
刚才没注意
------华软网友回复------
select count(*) from stu  where cast(cj as int) < 60
这个是对的就是把字符转成数字再进行比较
------华软网友回复------
我说怎么coollen的ID不能用了 原来楼主在用
------华软网友回复------
多多
说的很对
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。