Строка Concat без начальных и конечных пробелов и только при наличии значений в полях - PullRequest
0 голосов
/ 28 января 2020

У меня есть таблица, из которой я хотел бы объединить поля адресов, разделяя их на ',' или ''. Но есть сценарий, что все поля не имеют значения в них.

Как показано на скриншоте, могут быть поля, в которых значения являются пустыми, в этом случае из-за ',' значения, просто заполненного как, и также приведет к конечным и ведущим пробелам.

Начальный подход: (

concat(trim(concat(trim(faddress1), ', ', trim(faddress2))), ', ', trim(fcity), ', ', trim(fstate), ', ', trim(fzip))) stop_location_code,

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

Попробовал второй подход, чтобы посмотреть, можно ли выполнить некоторые условные логики c, хотя при этом устранена проблема с пробелами. Все значения объединяются вместе без пробелов (см. скриншот)

Второй путь:

 concat(isnull(trim(faddress1),''),isnull(trim(faddress2),''),isnull(trim(fcity),''),isnull(trim(fstate),''),isnull(trim(fzip),'')) as test,`

enter image description here

Пример: если faddress1 = ab c, faddress2 = def, fcity = ghi, поэтому при возврате "ab c def ghi et c .."

...