添加记录中的字符数(mysql)

时间:2011-08-22 15:03:42

标签: mysql

我需要添加每个记录中的字符数。

SELECT 
 CHAR_LENGTH(fiedl1) +
 CHAR_LENGTH(fiedl2) +
 CHAR_LENGTH(fiedl3) +
 CHAR_LENGTH(fiedl4) +
 CHAR_LENGTH(fiedl5) +
 CHAR_LENGTH(fiedl6)
FROM mytable;

上面的代码无效,因为如果某个字段包含NULL值,则返回NULL。

2 个答案:

答案 0 :(得分:2)

您可以使用IFNULL控制流功能。

IFNULL(expr1,expr2)
  

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

您的查询应该是这样的:

SELECT 
IFNULL(CHAR_LENGTH(fiedl1), 0) +
IFNULL(CHAR_LENGTH(fiedl2), 0) +
IFNULL(CHAR_LENGTH(fiedl3), 0) +
IFNULL(CHAR_LENGTH(fiedl4), 0) +
IFNULL(CHAR_LENGTH(fiedl5), 0) +
IFNULL(CHAR_LENGTH(fiedl6), 0)
FROM mytable;

如果您有任何疑问,请告诉我。

答案 1 :(得分:1)

尝试使用IFNULL,如下所示:

IFNULL(CHAR_LENGTH(fiedl1), 0) ...