SQL - Используйте только первую букву каждого слова и все остальные строчные буквы - PullRequest
0 голосов
/ 07 октября 2019

Я видел это везде и не могу найти реалистичного решения для моей ситуации. В нашем поле «Адрес» у нас есть такие значения, как «555 RODEO Drive, 555 RODEO Drive, 555 RODEO DRIVE» и т. Д. Они должны быть отформатированы как 555. «Rodeo Drive». поля города, штата и страны, т. е. СОЕДИНЕННЫЕ ШТАТЫ> США.

Ответы [ 2 ]

0 голосов
/ 07 октября 2019

Самый простой способ сделать это - использовать Fuzzy Lookup в SSIS. A sample реализация Fuzzy lookup с использованием SSIS.

Но если вы действительно хотите использоватьT-SQL, эта запись может помочь ...

0 голосов
/ 07 октября 2019

Этот вид работы лучше всего выполнять на уровне представления, где вы можете использовать маску при вводе данных, а также обновлять эти строки, но вот совет

SELECT STRING_AGG(S, ' ')
FROM
(
  VALUES
  (1, '555 RODeo drive'), 
  (2, '555 rodeo drive'), 
  (3, '555 RODEO DRIVE'),
  (4, 'UNITED STATES')
) T(ID, Str) CROSS APPLY
(
  SELECT CONCAT(UPPER(LEFT(Value, 1)), LOWER(RIGHT(Value, LEN(Value) -1))) S
  FROM STRING_SPLIT(Str, ' ')
) TT
GROUP BY ID;

Демоверсия

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