gpt4 book ai didi

mysql - 计算字母

转载 作者:可可西里 更新时间:2023-11-01 07:33:12 27 4
gpt4 key购买 nike

谁能告诉我如何在 MySQL 中计算字符串中的字母?

例如:

SELECT numberOfLetters('abc123 def')

会返回 6

对于字母,我指的是 A-Z 和 a-z。

numberOfLetters 当然不是有效的 SQL,但它说明了我正在尝试做的事情。

我使用的MySQL版本是5.5.27

最佳答案

你需要一个函数:

DROP FUNCTION IF EXISTS numberOfLetters;

DELIMITER //

CREATE FUNCTION numberOfLetters(s VARCHAR(255)) RETURNS INT DETERMINISTIC NO SQL
BEGIN
DECLARE c INT;
DECLARE r INT DEFAULT 0;
DECLARE n INT DEFAULT LENGTH(s);
DECLARE i INT DEFAULT 1;

WHILE i <= n DO
SET c = ASCII(SUBSTRING(s, i, 1));
IF (c >= 65 AND c <= 90) OR (c >= 97 AND c <= 122) THEN
SET r = r + 1;
END IF;
SET i = i + 1;
END WHILE;

RETURN r;
END//

DELIMITER ;

然后调用:

SELECT numberOfLetters('abc123 def');

关于mysql - 计算字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13467901/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com