视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL字符串值的实际应用
2020-11-09 14:05:04 责编:小OO
文档


我们今天主要和大家一起讨论的是MySQL字符串值与用其实际表达式来对函数 ifnull()与if() [类似ms sql server的isnull()]进行正确判断的实际操作步骤的介绍,以下就是正文的主要内容描述。 FNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它

我们今天主要和大家一起讨论的是MySQL字符串值与用其实际表达式来对函数 ifnull()与if() [类似ms sql server的isnull()]进行正确判断的实际操作步骤的介绍,以下就是正文的主要内容描述。

  1. FNULL(expr1,expr2)

如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。

  1. MySQL> select IFNULL(1,0);
  2. -> 1
  3. MySQL> select IFNULL(0,10);
  4. -> 0
  5. MySQL> select IFNULL(1/0,10);
  6. -> 10
  7. MySQL> select IFNULL(1/0,’yes’);
  8. -> ‘yes’
  9. IF(expr1,expr2,expr3)

如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否则它返回expr3。IF()返回一个数字或字符串值,取决于它被使用的上下文。

  1. MySQL> select IF(1>2,2,3);
  2. -> 3
  3. MySQL> select IF(1<2,’yes’,'no’);
  4. -> ‘yes’
  5. MySQL> select IF(strcmp(‘test’,'test1′),’yes’,'no’);
  6. -> ‘no’

expr1作为整数值被计算,它意味着如果你正在测试浮点或字符串值,你应该使用一个比较操作来做。

  1. MySQL> select IF(0.1,1,0);
  2. -> 0
  3. MySQL> select IF(0.1<>0,1,0);
  4. -> 1

在上面的第一种情况中,IF(0.1)返回0,因为0.1被变换到整数值, 导致测试IF(0)。这可能不是你期望的。在第二种情况中,比较测试原来的浮点值看它是否是非零,比较的结果被用作一个整数。

  1. CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result …] [ELSE result] END
  2. CASE WHEN [condition] THEN result [WHEN [condition] THEN result …] [ELSE result] END

第一个版本返回result,其中value=compare-value。第二个版本中如果第一个条件为真,返回result。如果没有匹配的result值,那么结果在ELSE后的result被返回。如果没有ELSE部分,那么NULL被返回。

  1. MySQL> SELECT CASE 1 WHEN 1 THEN “one” WHEN 2 THEN “two” ELSE “more” END;
  2. -> “one”
  3. MySQL> SELECT CASE WHEN 1>0 THEN “true” ELSE “false” END;
  4. -> “true”
  5. MySQL> SELECT CASE BINARY “B” when “a” then 1 when “b” then 2 END;
  6. -> NULL

以上的相关内容就是对MySQL 字符串值/表达式判断函数ifnull()与if() [类似ms sql server的isnull()]的介绍,望你能有所收获。

下载本文
显示全文
专题