当前位置: 首页 > 面试题库 >

计算字符串中的大写字母

苏彦君
2023-03-14
问题内容

如何使用MySQL查询来计算大写字母?我现在正在尝试

COUNT(IF(MATCH(post_text) AGAINST('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'),1,NULL))

但这给我一个错误的说法:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U' at line 4

我猜,我不允许在AGAINST子句中使用列表,这很烂

那么,有没有办法实现这一目标?


问题答案:

试试这个功能-

DELIMITER $$

CREATE FUNCTION cnt_up_case(str VARCHAR(255))
RETURNS VARCHAR(255)
NOT DETERMINISTIC
CONTAINS SQL
BEGIN

  SET @cnt = 0;
  SET @len = length(str);
  SET @i = 1;

  WHILE @i <= @len
  DO
    SET @c = substring(str, @i, 1);
    IF ascii(@c) > 64 AND ascii(@c) < 91 THEN
      SET @cnt = @cnt + 1;
    END IF;

    SET @i = @i + 1;
  END WHILE;

  RETURN @cnt;
END
$$

DELIMITER ;

例子:

SET @Param1 = 'AbCdE';
SET @ResultValue = cnt_up_case(@Param1);
SELECT @ResultValue;
--------------
3


 类似资料:
  • 问题内容: 哟,所以我试图制作一个程序,可以接受用户输入的字符串,例如:“一次一次”,然后报告该字符串包含多少个大写和小写字母: 输出示例:字符串具有8个大写字母,字符串具有5个小写字母,即时消息应该使用字符串类而不是数组,有关如何开始使用此字符串的任何提示?在此先感谢,这是我到目前为止所做的:D! 问题答案: 只需创建发现小写或大写字母时递增的计数器,如下所示:

  • 我在大学学习Java,我需要写一个静态int countCapitals(String s)方法,返回字符串s中有多少个单词以大写字母开头。 大写字母是UPPERCASE_LETTER类型或TITLECASE_LETTER类型的字符(Character)。单词是由一个或多个空格、字符、符号或标点符号分隔的字母或数字序列。 New.countCapitals("亲爱的朋友们,你们好!这里—以大写字母

  • 本文向大家介绍Python程序可以计算给定字符串中的大小写字符。,包括了Python程序可以计算给定字符串中的大小写字符。的使用技巧和注意事项,需要的朋友参考一下 对于给定的字符串输入,我们希望使用python计算小写字母和大写字母的字符数。例如,对于给定的字符串, 计数应该是- 我们可以使用带有2个条件的简单for循环来实现此功能,以检查大小写字符。例如, 示例 输出结果 这将给出输出-

  • 问题内容: 我正在做一个作业,在该作业中,我必须编写程序以读取用户的字符串,并打印出字符串中出现次数的字母。 例如,“ Hello world”应该打印出“ h = 1 e = 1 l = 3 o = 2 …等”,但是我只写“ hello world”和字母总数。 我不能使用hashmap函数,只能使用数组。有人可以给我一两个提示,提示如何从下面的书面代码继续进行操作以获得我的首选功能?我不完全了

  • 问题内容: 有谁知道一种非常简单的仅将字符串的首字母大写的方法,而与字符串其余部分的大写无关? 例如: 我也希望能够处理所有字符串长度。 问题答案: @ saua是正确的,并且 适用于任何字符串。

  • 编写一个程序,当给定一个代表地毯的字符串时,输出其价格。示例:abacx答案:20(长度5乘以4种不同类型) 以下是我到目前为止的情况。以下是测试案例3a)qiraat 3b)cdefghijklmnopqrstuwxyz 3c)warrior 3d)SupercalibragilisticExpialidious