使用sql语句查询数据库时,有些数据为null,null在结果中并不美观,我们经常需要将其替换为其他值,sqlite中,ifnull()可以很好地完成这个任务
ifnull( expression1, expression2)
如果expression1的值为null,则返回expression2,如果都为null则依旧返回null
sqlite> SELECT ifnull('我不是null', '我不是null');
Result: '我不是null'
sqlite> SELECT ifnull(NULL, '我不是null');
Result: '我不是null'
sqlite> SELECT ifnull('2014-10-16', '2014-10-31');
Result: '2014-10-16'
sqlite> SELECT ifnull(null, '2014-10-31');
Result: '2014-10-31'
sqlite> SELECT ifnull(5, 6);
Result: 5
sqlite> SELECT ifnull(null, 6);
Result: 6
sqlite> SELECT ifnull(5/0, 'Dividing by 0 returns NULL');
Result: 'Dividing by 0 returns NULL'
IFNULL
函数
是MySQL控制流
函数
之一,它接受两个参数,如果不是
NULL
,则返回第一个参数。 否则,
IFNULL
函数
返回第二个参数。
两个参数可以是文字
值
或表达式。
一、语法格式:
IFNULL
(expression_1,expression_2);
如果expression_1不为
NULL
,则
IFNULL
函数
返回expression_1; 否则返回expression_2的结果。
IFNU...
目录一、问题二、REPLACE
函数
1、概述2、查询
替换
3、更新
替换
4、插入
替换
三、解决方法1、navicat应用软件2、编写Qt程序 最近开发数据库应用,有测试提出数据库中有错误,比如苹果都写成了梨子,如何解决
函数
:
REPLACE ( string_expression , string_pattern , string_replacement )
string_expression 要搜索的字符串表达式。string_expression 可以是字符或二进制数据类型。
空
值
是不占用空间的,但是
NULL
值
是占用空间的。那就是说空
值
是无,
NULL
本身就是代表着“
NULL
”的意思,故
NULL
是另外一种含义的
值
。
平常使用
sqlite
数据库时会遇到判断字段
值
是否为空的情况,一般来说只要跟空
值
比较就行。但是今天有一个新同事说如果跟
NULL
值
比较是否也可以?针对这种情况,现简单分析一下:
SQLite
的
NULL
是用来表示一个缺失数
值
的项。表中的一个
记录一下,
SQLite
中
null
if和
ifnull
的区别:
null
if(
null
,'') --输出
null
null
if('','') --输出
null
null
if('t','t') --输出
null
null
if('tl','t') --输出tl
--看输出
值
发现,
null
if是前后对比
函数
,一致返回
null
,否则返回第一个参数
ifnull
('','t')
sqlite
中,将MJ1,MJ2两个字段的
值
相减,其中MJ2里面有些
值
为
null
,相减后结果为
null
,需要将空
值
转为0。可以用
ifnull
函数
。
ifnull
(a,b) ,如果a的
值
不是
null
,则返回a, 如果a的是
null
,则返回b。
MJ1,MJ2相减可以写成, MJ1-
ifnull
(MJ2,0)
解析:
IFNULL
()
函数
用于判断第一个表达式是否为
NULL
,如果为
NULL
则返回第二个参数的
值
,如果不为
NULL
则返回第一个参数的
值
。
IFNULL
()
函数
语法格式为:
IFNULL
(expression, alt_value)
如果第一个参数的表达式 expression 为
NULL
,则返回第二个参数的备用
值
。
参数说明:
问题:使用sum求和,如果某一个
值
是
null
,结果也会变成
null
。在
sqlite
中不能使用is
null
(id,0)来进行判断,在
sqlite
中使用
ifnull
select sum(orderPrice) from sales//得出的结果有可能是
null
select sum(
ifnull
(orderPrice,0)) from sales //如果表中没有数据,结果依然可能是
null
select...
if not exists(select * from ErrorConfig where Type='TryWaitSeconds')
begin
insert into ErrorConfig(Type,Value1)
values('TryWaitSeconds','3')
insert into ErrorConfig(Type,Va
SQLite
的
NULL
是用来表示一个缺失
值
的项。表中的一个
NULL
值
是在字段显示为空白的一个
值
。带有
NULL
值
的字段是一个不带有
值
的字段。
NULL
值
与零
值
或包含空格的字段是不同的。
创建表时使用
NULL
的基本语法如下:
SQLite
> CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT
NULL
,
NAM...
MYSQL
IFNULL
(expr1,expr2)
如果expr1不是
NULL
,
IFNULL
()返回expr1,否则它返回expr2。
IFNULL
()返回一个数字或字符串
值
,取决于它被使用的上下文环境。
mysql> select
IFNULL
(1,0);
mysql> select
IFNULL
(