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

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

以上代码无效,因为如果字段包含空值,则返回空值。

最佳答案

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

IFNULL(expr1,expr2)

如果expr1不为空,If NULL()返回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;

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

关于mysql - 在记录中添加字符数(mysql),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7149454/

10-12 00:20