SQL:如何在第一个空格之前拉字符

时间:2019-02-22 20:57:59

标签: sql netezza

对于非NULL的字段,如何在第一个空格前拉字符?

例如:

Banana Bread
NULL
Chocolate Chip Cookie

结果:

Banana
NULL
Chocolate

谢谢!

3 个答案:

答案 0 :(得分:0)

通过阅读documentation of the netezza string functions,我相信您应该能够通过使用函数instr()substr()来实现这一点,例如:

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

基本上,instr(my_column, ' ')为您提供字符串中第一个空格的位置;从中减去1,您将在字符串的开头获取要捕获的字符数。

如果给定一个NULL值,则该表达式也应返回NULL

答案 1 :(得分:0)

在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)

答案 2 :(得分:0)

选择子字符串(FieldName,1,charindex('',FieldName)) 其中FieldName不为空