Mysql
 sql >> база данни >  >> RDS >> Mysql

Бройте главни букви в низ

Опитайте тази функция -

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Прости произволни извадки от Sql база данни

  2. Laravel 5 PDOException не можа да намери драйвер

  3. Как да използвате jQuery SlickGrid с PHP / MySQL (зареждане на сървърни данни и запазване на промените)

  4. CURTIME() Примери – MySQL

  5. Как да получа първичен ключ на таблицата?