我需要添加每个记录中的字符数。
SELECT
CHAR_LENGTH(fiedl1) +
CHAR_LENGTH(fiedl2) +
CHAR_LENGTH(fiedl3) +
CHAR_LENGTH(fiedl4) +
CHAR_LENGTH(fiedl5) +
CHAR_LENGTH(fiedl6)
FROM mytable;
上面的代码无效,因为如果某个字段包含NULL值,则返回NULL。
答案 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) ...