Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Đếm các chữ cái viết hoa trong chuỗi

Hãy thử chức năng này -

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 ;

Ví dụ:

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. Cố gắng cập nhật 640k hàng trong mySQL bị Mất kết nối với máy chủ MySQL trong khi truy vấn

  2. Lược đồ cơ sở dữ liệu thăm dò ý kiến

  3. Tải Điểm đánh dấu từ tệp XML lên API Google Map

  4. DATATYPE nào tốt hơn để sử dụng TEXT hoặc VARCHAR?

  5. Kết nối máy chủ Android với Wamp bằng Android Studio và PHP