当前位置:网站首页>MySQL ifnull usage function

MySQL ifnull usage function

2022-07-05 20:51:00 Full stack programmer webmaster

Hello everyone , I meet you again , I'm the king of the whole stack , I've prepared for you today Idea Registration code .

Later MYSQL IFNULL Specific narratives that use this function , For your reference , Suppose you MYSQL IFNULL There is something wrong with the functional category of the clause . The most beautiful .

MYSQL IFNULL(expr1,expr2) hypothesis expr1 No NULL,IFNULL() return expr1. Otherwise it returns expr2.IFNULL() Returns a numeric or string value , Depending on the context in which it is used . mysql> select IFNULL(1,0); -> 1 mysql> select IFNULL(0,10); -> 0 mysql> select IFNULL(1/0,10); -> 10 mysql> select IFNULL(1/0,yes); -> yes IF(expr1,expr2,expr3) hypothesis expr1 yes TRUE(expr1<>0 And expr1<>NULL), that IF() return expr2. Otherwise it returns expr3.IF() Returns a numeric or string value , Depending on the context in which it is used .

mysql> select IF(1>2,2,3); -> 3 mysql> select IF(1<2,yes,no); -> yes mysql> select IF(strcmp(test,test1),yes,no); -> no expr1 Is calculated as an integer value . It means assuming that you are testing floating-point or string values . You should use a comparison operation to do .

mysql> select IF(0.1,1,0); -> 0 mysql> select IF(0.1<>0,1,0); -> 1 In the first case above .IF(0.1) return 0, because 0.1 Is transformed to an integer value , Cause test IF(0). This may not be what you expect . In another case , Compare and test the original floating-point value to see if it is non-zero . The result of the comparison is used as an integer .

CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result …] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result …] [ELSE result] END The first version number returns result. among value=compare-value. The second version number assumes that the first condition is true , return result. Suppose there is no match result value , So the result is ELSE After result Returned .

Suppose there is no ELSE part . that NULL Returned . mysql> SELECT CASE 1 WHEN 1 THEN “one” WHEN 2 THEN “two” ELSE “more” END; -> “one” mysql> SELECT CASE WHEN 1>0 THEN “true” ELSE “false” END; -> “true” mysql> SELECT CASE BINARY “B” when “a” then 1 when “b” then 2 END; -> NULL

The following is true of MYSQL IFNULL The use of function is described in detail , For your reference . Suppose you are in MYSQL IFNULL We have encountered similar problems in the use of functions , It's better to have a look .

MYSQL IFNULL(expr1,expr2) hypothesis expr1 No NULL,IFNULL() return expr1, Otherwise it returns expr2.

IFNULL() Returns a numeric or string value , Depending on the context in which it is used .

mysql> select IFNULL(1,0); -> 1 mysql> select IFNULL(0,10); -> 0 mysql> select IFNULL(1/0,10); -> 10 mysql> select IFNULL(1/0,yes); -> yes IF(expr1,expr2,expr3) hypothesis expr1 yes TRUE(expr1<>0 And expr1<>NULL), that IF() return expr2, Otherwise it returns expr3.IF() Returns a numeric or string value , Depending on the context in which it is used . mysql> select IF(1>2,2,3); -> 3 mysql> select IF(1<2,yes,no); -> yes mysql> select IF(strcmp(test,test1),yes,no); -> no expr1 Is calculated as an integer value , It means assuming that you are testing floating-point or string values , You should use a comparison operation to do .

mysql> select IF(0.1,1,0); -> 0 mysql> select IF(0.1<>0,1,0); -> 1 In the first case above .IF(0.1) return 0. because 0.1 Is transformed to an integer value , Cause test IF(0). This may not be what you expect . In another case , Compare and test the original floating-point value to see if it is non-zero , The result of the comparison is used as an integer .

CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result …] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result …] [ELSE result] END The first version number returns result. among value=compare-value. The second version number assumes that the first condition is true . return result. Suppose there is no match result value , So the result is ELSE After result Returned . Suppose there is no ELSE part , that NULL Returned . mysql> SELECT CASE 1 WHEN 1 THEN “one” WHEN 2 THEN “two” ELSE “more” END; -> “one” mysql> SELECT CASE WHEN 1>0 THEN “true” ELSE “false” END; -> “true” mysql> SELECT CASE BINARY “B” when “a” then 1 when “b” then 2 END; -> NULL

Copyright notice : This article is an original blog article . Blog , Without consent , Shall not be reproduced .

Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/117657.html Link to the original text :https://javaforall.cn

原网站

版权声明
本文为[Full stack programmer webmaster]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207052046420573.html