Противоположная функция INITCAP () - PullRequest
3 голосов
/ 03 июня 2011

Можем ли мы сделать обратное функции INITCAP()? Он устанавливает первую букву каждого слова в нижний регистр, а остальные буквы в верхний регистр.

Например, SOMEFUNCTION(abc) возвращает aBC.

1 Ответ

2 голосов
/ 03 июня 2011

Ниже вы можете найти функцию для MySQL .

delimiter //
create function lower_first (input varchar(255))
returns varchar(255)
deterministic
begin
declare len int;
declare i int;
set len   = char_length(input);
set input = upper(input);
set i = 0;
while (i < len) do
    if (mid(input,i,1) = ' ' or i = 0) then
        if (i < len) then
            set input = concat(
                          left(input,i),
                          lower(mid(input,i + 1,1)),
                          right(input,len - i - 1)
                        );
        end if;
    end if;
    set i = i + 1;
end while;
return input;
end; //
delimiter ;

select lower_first('this is my TeSt'); -- tHIS iS mY tEST
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...