sql >> Database teknologi >  >> RDS >> Mysql

Tæl store bogstaver i streng

Prøv denne funktion -

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 ;

Eksempel:

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


  1. Hvordan Tan() virker i PostgreSQL

  2. Problemer med at opsætte MySQLdb-modulet

  3. DATE_SUB() Eksempler – MySQL

  4. Snefnug-skemaet