分散数字的一部分

时间:2018-06-13 08:49:23

标签: sql cloudera impala

如何从机会中通过sql / Impala获取OPP号码,而不包含超过3000个不同主题的列表中的主题?所以我想要一个带有OPP编号的变量Opportunity_two,如OPP00337839。 你怎么看?你怎么做这样的事情?

Opportunities
OPP00337839 Biology
OPP00446759 Geography
OPP06293521 Sports
OPP96745240 Math

2 个答案:

答案 0 :(得分:0)

使用Charindex查找空间并选择该数字以外的所有内容(减1以删除尾随空格!)

DECLARE @String varchar(50) = 'OPP00337839 Biology'
SELECT LEFT(@String,CHARINDEX(' ' ,@String)-1)

答案 1 :(得分:0)

您的号码看起来像是固定长度,所以您可以这样做:

select left(opportunities, 11) as opportunity_number

如果长度可能有所不同,我建议:

select left(opportunities, charindex(' ', opportunities + ' ') - 1) as opportunity_number

这将处理值没有空格的情况。