SQL2000搜索和更改问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 22:08:36
有表students(学生基本资料), kemu(考试科目及编号), mark(学号,科目编号,成绩),
查询出学号001,C语言,成绩!
更改‘张三’同学的SQL成绩为88!

首先你的mark字段里面包含了3个信息吗?这样做不是很好。还不如拆分成3个字段
还有,你的mark字段里面三个信息由用特殊字符区分开吗?比如001|11111|88
如果可以确定前三位一定是学号的话,可以用下面的语句
select mark from students Where
substring(mark,0,3)='001'
更改的话就必须像001|11111|88这样把信息分开,或者学号和科目编号绝对不会改变长度的情况下可以。
办法是先select出张三的mark信息,
再在程序里面修改最后几位代表成绩的地方后

update students set mark= newMark where substring(mark,0,9='001|11111'
'001|11111'是假定的学号和科目编号
newMark是你程序里面修改后的变量名