Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để triển khai ngược lại chức năng INITCAP () với MySQL?


Phương thức INITCAP () hiển thị ký tự đầu tiên trong mỗi từ bằng chữ hoa và phần còn lại ở chữ thường.

Để triển khai chức năng ngược lại, bạn cần tạo chức năng của riêng mình trong MySQL. Đây là chức năng -

mysql> delimiter //
mysql> create function convertFirstLetterToLowerAndRemainingToCapital(value varchar(250))
   returns varchar(250)
   deterministic
   begin
   declare valueLength int;
   declare l int;
   set valueLength = char_length(value);
   set value = upper(value);
   set l = 0;
   while (l < valueLength ) do
      if (mid(value,l ,1) = ' ' or l = 0) then
         if (l < valueLength ) then
            set value= concat(
               left(value,l),
               lower(mid(value,l+ 1,1)),
               right(value,valueLength - l - 1)
            );
         end if;
      end if;
   set l = l + 1;
   end while;
   return value;
   end;
   //
Query OK, 0 rows affected (0.17 sec)
mysql> delimiter ;

Gọi hàm với sự trợ giúp của câu lệnh select -

mysql> select convertFirstLetterToLowerAndRemainingToCapital('Introduction To MySQL');

Điều này sẽ tạo ra kết quả sau -

+-------------------------------------------------------------------------+
| convertFirstLetterToLowerAndRemainingToCapital('Introduction To MySQL') |
+-------------------------------------------------------------------------+
| iNTRODUCTION tO mYSQL                                                   |
+-------------------------------------------------------------------------+
1 row in set, 2 warnings (0.04 sec)