Oracle的NVL()函数和MySQL中的IfNull()函数
MS SQL 中的IsNull()函数:
IsNull ( check_expression , replacement_expression )
check_expression: 可以是任何类型,将要检查的表达式 不为空,返回它
replacement_expression: 类型必须和check_expression相同,check_expression为null,返回它
这个函数的作用就是:判断check_expression是否为空,为空就返回replacement_expression,不为空则返回check_expression
eg:
SELECT IsNull(null,1) 返回1
SELECT IsNull(null,’男') 返回男
SELECT IsNull(‘’,'男') 注意返回的不是男哦
MS Sql中的 IsNull( )函数相当于Oracle中的 NVL( )函数:
NVL(EXP1,EXP2),函数返回exp1和exp2 中第一个不为null的值。
如果exp1为空就返回exp2,否则返回exp1。
相当于Mysql中的IfNull()函数:
应用场景:比如一张表:Products ,该表取自 http://www.w3schools.com/SQL/sql_isnull.asp
P_Id
ProductName
UnitPrice
UnitsInStock
UnitsOnOrder
1
Jarlsberg
10.45
16
15
2
Mascarpone
32.56
23
3
Gorgonzola
15.67
9
20
假设UnitsOnOrder这一列是可以为空的,可能含有空值,那么执行
SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder) from Products 有可能会出错
因为UnitsOnOrder这一列为空的时候,运算的结果就是空
mssql的isnull()函数可以指定处理空值的方式:
改为下面得就可以了SELECT ProductName,UnitPrice*(UnitsInStock+isnull(UnitsOnOrder,0)) from Products
isnull(unitsOnOrder,0) unitsOnOrder为空的时候返回0
COALESCE() function
COALESCE ( expression [ ,...n ] )
相当于:
COALESCE(expression1,...n) 的功能与以下 CASE 表达式相同:
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
WHEN (expression2 IS NOT NULL) THEN expression2
...
ELSE expressionN
END
相关文档:
1、创建存储过程
create or replace procedure test(var_name_1 in type,var_name_2 out type) as
--声明变量(变量名 变量类型)
begin
--存储过程的执行体
end test;
打印出输入的时间信息
E.g:
create or replace procedure test(workDate in Date) is
begin
dbms_output.putline('The input date is: ......
今天写有关Oracle中函数与触发器的内容,在数据库中定义并使用存储过程、函数、触发器,可以提高用户访问数据库的效率。
数据库中函数包含四个部分:声明、返回值、函数体和异常处理。
1 create or replace function getname(sno varchar2 )
2 &nbs ......
首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。
注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。
用户:phplamp 用户数据库:phplampDB
1.新建用户。
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user ......
mysqldump -u用户名 -p密码 数据库名 >dump文件的路径和名称
mysql> source dump.sql
There are three general ways to invoke mysqldump:
shell> mysqldump [options] db_name [tbl_name ...]
shell> mysqldump [options] --databases db_name ...
shell> mysqldump [options] --all-databases
......