Сделать каждое слово заглавной буквой Sqlite - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу иметь возможность обновлять каждое слово в верхнем регистре моей строки.

Что у меня может быть:

the dog is brown

Что я хочуиметь:

The Dog Is Brown

Теперь я искал здесь перед публикацией и наткнулся на этот вопрос: SQLite Обновление первой буквы в верхнем регистре

Использование предоставленногозапрос принятых ответов: UPPER(SUBSTR(field, 1, 1)) || SUBSTR(field, 2) это обновляет первое слово в верхнем регистре, а не все?

Есть ли что-то, что можно добавить к этому, чтобы оно работало для всех слов?

Спасибо!

1 Ответ

0 голосов
/ 25 апреля 2018

Возможно, вы могли бы использовать следующее в качестве основы: -

Создание тестовой таблицы

DROP TABLE IF EXISTS sentences;
CREATE TABLE IF NOT EXISTS sentences (sentence TEXT);

Загрузить некоторые данные испытаний

INSERT INTO sentences
VALUES 
    ('the dog is brown'),('pigs are pink'),('polar bears are white'),('orangutans are orange'),('zebras are black and white');

Таблица выглядит так: -

enter image description here

Запрос

SELECT 
    substr(
        replace(
            replace(
                replace(
                    replace(
                        replace(
                            replace(
                                replace(
                                    replace(
                                        replace(' '||sentence,' a',' A')
                                    ,' b',' B'),
                                ' c',' C'),
                            ' d',' D'),
                        ' e',' E'),
                    ' f',' F'),
                ' g',' G'),
            ' h',' H'),
            -- ..........
        ' t',' T')
        -- .............
    ,2) AS converted
FROM sentences
  • Это делает слова, начинающиеся с a-h, а также t
  • Добавляет пробел, позволяющий преобразовать первое слово согласно ' '||sentence, а затем удаляет пробел после того, как все замены были сделаны substr(........,2).

Результат

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...