MySQL的确实有一个ISNULL ( )函数。然而,它的作品有点不同,微软的ISNULL ( )函数。 MySQL中我们可以使用IFNULL ( )函数,就像这样: SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products
DECLARE
t_name VARCHAR2(10)
t_course1 NUMBER
t_course2 NUMBER
t_course3 NUMBER
TYPE c_type IS REF CURSOR
cur c_type
BEGIN
OPEN cur FOR
'SELECT t_name,
SUM(CASE t_course WHEN '''||'语文'||''' THEN t_score ELSE 0 END),
SUM(CASE t_course WHEN '''||'数学'||''' THEN t_score ELSE 0 END),
SUM(CASE t_course WHEN '''||'物理'||''' THEN t_score ELSE 0 END)
FROM tb GROUP BY t_name'
LOOP
FETCH cur INTO t_name,t_course1,t_course2,t_course3
EXIT WHEN cur%NOTFOUND
dbms_output.put_line(t_name||'语文'||t_course1||'数学'||t_course2||'物理'||t_course3)
END LOOP
CLOSE cur
MySQL中语句如下:
update Table1set avg_price=(select avg(price) from Table2where Table2=.ID=Table1.TID)
扩展资料
在使用数据库进行数据筛选时查询时,经常会用到一些聚合函数,如 count(),sum(),max(),min(),avg()
聚合函数会把NULL排除在外,但Count(*)例外,并不会排除NULL;
AVG() 函数
AVG() 函数返回数值列的平均值。
SQL AVG() 语法
SELECT AVG(column_name) FROM table_name
sum为求平均值函数,将要求总和值的列sum(列名)
avg为求平均值函数,将要求平均值的列avg(列名)
nvl为如果未空则置空值为其他数据的函数,nvl(为空的列,将空值置成的其他值)
round为四舍五入函数,round(列名,保留小数位数)
1 returns char ??应该renturn int吧。2. null是没查到数,加一个处理 select nvl(成绩, 0) from 选课信息表 ....
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)