SQL: как тянуть символы перед первым пробелом - PullRequest
0 голосов
/ 22 февраля 2019

Как вытащить символы перед первым пробелом, для полей, которые не NULL?

Например:

Banana Bread
NULL
Chocolate Chip Cookie

Результаты:

Banana
NULL
Chocolate

Спасибо!

Ответы [ 3 ]

0 голосов
/ 23 февраля 2019

на MS SQL Server:

select 
 Snack
,charindex(' ', Snack) SpaceLocation
,substring(Snack, 1, charindex(' ', Snack)-1) SubString
from (
    values
     ('Banana Bread')
    ,(NULL)
    ,('Chocolate Chip Cookie')
) t(Snack)
0 голосов
/ 23 февраля 2019

выбрать подстроку (FieldName, 1, charindex ('', FieldName)), где FieldName NOT NULL

0 голосов
/ 23 февраля 2019

Читая документацию о строковых функциях netezza , я считаю, что вы сможете достичь этого, используя функции instr() и substr(), например:

substr(
    my_column, 
    1,
    instr(my_column, ' ') - 1
)

В основном, instr(my_column, ' ') дает вам позицию первого пробела в строке;вычтите из него 1 и вы получите количество символов, которое вы хотите захватить в начале строки.

Если задано значение NULL, это выражение также должно вернуть NULL.

...