Convert all records in postgres to Titlecase, first letter uppercase
I have a simple table in PostgreSQL called keywords with a simple text field called name. I want to convert all names of keywords in first letter uppercase. Is there a way to do it from psql console?
4 Answers 4
There is an initcap() function, if you’re meaning to uppercase the first letter of each keyword and to lowercase the following characters:
Else combine substring() and upper() :
This does give the correct answer (R. López Viña Tondonia Rioja White Viña) in our version of Postgres (9.0.7).
@denis, Gave the Right Answer!
But in my case I use PgAdmin3 , so after selecting the database there is SQL query Options , So there we can directly add the above query in it.
I had a table called subcategory_subcategory(name of table) in that i wanted to change a column values whose name was Item_name(name of column ) , so my query was like this
Сделать первую букву заглавной. MySQL
Кто-нибудь знает эквивалент этого TSQL на языке MySQL?
Я пытаюсь использовать первую букву каждой записи с заглавной буквы.
13 ответы
Это почти то же самое, вам просто нужно изменить, чтобы использовать функцию CONCAT () вместо оператора +:
Это превратится hello в Hello , wOrLd в WOrLd , BLABLA в BLABLA и т. д. Если вы хотите использовать первую букву в верхнем регистре, а другую в нижнем регистре, вам просто нужно использовать функцию LCASE:
Обратите внимание, что UPPER и UCASE делают то же самое.
спасибо — это сделал то, что мне нужно. Я забыл упомянуть, что мне нужно сначала установить нижний регистр. Благодарность — Подбородок
Винсент отличный ответ для прописных букв Имя Letter отлично подходит для первой буквы только использование заглавных букв во всей строке столбца.
НО что, если вы хотите, чтобы первая буква КАЖДОГО слова была прописной? в строках столбца таблицы?
например: «Средняя школа Аббевилля»
Я не нашел ответа на этот вопрос в Stackoverflow. Мне пришлось сколотить несколько ответов, которые я нашел в Google, чтобы предоставить надежное решение для приведенного выше примера. Это не собственная функция, а функция, созданная пользователем, которую позволяет MySQL версии 5+.
Если у вас есть статус пользователя Super / Admin в MySQL или у вас есть локальная установка mysql на вашем собственном компьютере, вы можете создать ФУНКЦИЮ (например, хранимую процедуру), которая находится в вашей базе данных и может использоваться во всех будущих SQL-запросах в любой части дб.
Созданная мною функция позволяет мне использовать эту новую функцию, которую я назвал «UC_Words», точно так же, как встроенные собственные функции MySQL, так что я могу обновить весь столбец следующим образом:
Чтобы вставить код функции, я изменил стандартный разделитель MySQL (;) при создании функции, а затем вернул его в нормальное состояние после сценария создания функции. Я также лично хотел, чтобы вывод тоже был в UTF8 CHARSET.
Это работает с выводом первых букв верхнего регистра для нескольких слов в строке.
Предполагая, что ваше имя пользователя для входа в MySQL имеет достаточные привилегии — если нет, и вы не можете настроить временную БД на своем личном компьютере для преобразования ваших таблиц, тогда спросите своего поставщика общего хостинга, установят ли они эту функцию для вас.
Функция INITCAP в Oracle SQL
В посте рассматривается однострочная функция INITCAP, относящаяся к функциям по работе с символьными данными.
Символьные данные или строки являются универсальными, т.к. они позволяют хранить практически любой тип данных. Функции, которые работают с символьными данными, классифицируются на функции преобразования регистра символов и манипулирования символами.
К функциям преобразования регистра символов относятся: LOWER, UPPER и INITCAP. Они могут быть использованы во многих частях блока SQL, например, в блоке select, where и т.п.
Функция INITCAP преобразует строку символов следующим образом: первые буквы каждого слова в строке преобразуются в их заглавные эквиваленты, а остальные буквы каждого слова преобразуются в их строчные эквиваленты. Слово обычно представляет собой строку смежных символов, разделенных пробелом или подчеркиванием. При этом знаки препинания или специальные символы, такие как символ процента, восклицательный знак или знак доллара, также являются допустимыми разделителями слов.
Примеры применения функции INITCAP:
Пример 1. В примере функция INITCAP переводит первые буквы каждого электронного адреса сотрудника в заглавные буквы, а остальные буквы в строчные.
Пример 2. В таблице employees значения столбца email введены заглавными буквами. Если выполняется поиск сотрудников по email с указанием электронного адреса сотрудника с первой заглавной буквой и остальные строчные, то запрос не возвращает ни одной строки (см. ниже первый sql запрос). Функция INITCAP предоставляет возможность выполнять поиск сотрудников по электронному адресу в вышеуказанном формате (см. ниже второй sql запрос). В примере знак слэш ( / ) между двумя sql запросами позволяет выполнять их последовательно.
Пример 3. Предполагается, что в таблице TEST есть следующий набор данных (2 строки):
Следующий SQL запрос показывает, что функция INITCAP учитывает символы разделителей слов, такие как, пробел и подчеркивание, и первые буквы каждого слова идущие за этими символами преобразовывает в их заглавные эквиваленты.
Пример 4. Предполагается, что в таблице TEST есть набор данных (4 строки). Каждая строка символом состоит из четырех слов (строчные буквы) разделенные с помощью символов пробела, подчеркивания, восклицания, процента и доллара:
SQL запрос показывает, что функция INITCAP учитывает перечисленные символы разделителей слов и первые буквы каждого слова идущие за этими символами преобразовывает в их заглавные эквиваленты: