oracle的某个字段怎么不能判断='' and is not null?。
发布网友
发布时间:2022-04-26 14:15
我来回答
共1个回答
热心网友
时间:2022-05-05 19:16
null和‘’是不一样的,在数据是未知数或者无法使用时,大多数的数据库管理系统将存储一个叫做Null值的特殊值。不要将它和零(一个合法数值)、零长度串(不含有字符的一种串数据类型)或空格字符混淆起来。SQL-3标准中把一个Null定义为:
“...一个用来指明任何数据值都不存在的一个特殊值...”
Oracle中有一个空值调用函数:
ISNULL
功能:使用指定的替换值替换
NULL。
语法
ISNULL
(
check_expression
,
replacement_value
)
参数
check_expression
将被检查是否为
NULL的表达式。check_expression
可以是任何类型的。
replacement_value
在
check_expression
为
NULL时将返回的表达式。replacement_value
必须与
check_expresssion
具有相同的类型。
返回类型
返回与
check_expression
相同的类型。
注释
如果
check_expression
不为
NULL,那么返回该表达式的值;否则返回
replacement_value。
一个例子:
使用
ISNULL
下面的示例为
titles
表中的所有书选择书名、类型及价格。如果一个书名的价格是
NULL,那么在结果集中显示的价格为
0.00。
SELECT
SUBSTRING(title,
1,
15)
AS
Title,
type
AS
Type,
ISNULL(price,
0.00)
AS
Price
FROM
titles