我想在SQL Server中的'@'符号之前提取字符串。
示例:
abcdef@opkac
o/p - abcdef
答案 0 :(得分:2)
你可以这样做:
select left(str, charindex('@', str) - 1)
注意:如果角色不存在,这将返回错误。所以你可能想要:
select (case when str like '%@%' then left(str, charindex('@', str) - 1) end)
编辑:
如果您使用的是Netezza,则可能需要使用substring()
而不是left()
。 Postgres现在支持left()
,但是当Netezza开始使用它时没有:
select (case when str like '%@%' then substring(str from 1 for charindex('@', str) - 1) end)