A função initcap() é ao mesmo tempo simples e útil, e muitos desenvolvedores não a conhecem. Basicamente, a initcap() recebe como parâmetro uma string e a retorna de volta, colocando a primeira letra de cada palavra maiúscula, e as demais em letras minúsculas.
É bem prático para formatar strings de nomes de pessoas e lugares utilizando o próprio banco de dados.
Exemplo 1:
teste=# SELECT initcap('ALFA BETA GAMA');
initcap
----------------
Alfa Beta Gama
(1 registro)
Exemplo 2:
teste=# SELECT initcap('alfa beta gama');
initcap
----------------
Alfa Beta Gama
(1 registro)
A função initcap não altera caracteres numéricos, mas atua em qualquer "palavra" começada por caracteres, ainda que contenha números.
Exemplo 3:
teste=# SELECT initcap('123 123');
initcap
---------
123 123
(1 registro)
teste=# SELECT initcap('a123a A123A');
initcap
-------------
A123a A123a
(1 registro)
Esta função pode ser empregada na criação de índices(!), embora eu não veja nisso qualquer utilidade para a maioria das aplicações de banco de dados. Bom, se você conhece algum uso criativo desta função, não deixe de registrar nos comentários!
Exemplo 4:
teste=# CREATE TABLE simples(codi integer, nome varchar(50));
CREATE TABLE
teste=# CREATE UNIQUE INDEX indexnome ON simples((initcap(nome)));
CREATE INDEX
Outras funções similares mas mais conhecidas, são UPPER() e LOWER(), que passam a string passada como parâmetro para maiúsculas e minúsculas, respectivamente.
Um comentário:
Top, me ajudou!
Postar um comentário