如何写mysql中实现nvl功能的sql呢?
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;
广告 您可能关注的内容 |