【问题标题】:Netezza SQL functionNetezza SQL 函数
【发布时间】:2016-11-17 16:03:54
【问题描述】:

我想在 Netezza 中按照以下标准选择数据。 谁能帮我写一下sql。

Case 1: Unique ID has 2 "."s 
Deal ID  = Parse  from UNIQ_ID. Pos 1 to first "."
E.g. 
Unique ID = 0000149844.FXFWD.COIBI_I
Deal ID = 0000149844

Case 2: Unique ID has 1 "."s 
Deal ID  = Parse  from UNIQ_ID. First "." to end
E.g
Unique ID = 25808.1234140AT`enter code here`
Deal ID = 1234140AT   

【问题讨论】:

  • 这不是要求人们为您编写代码的网站。相反,尝试自己编写,然后在遇到困难时寻求帮助。确保包含您尝试过的代码。
  • 我尝试了下面的代码,但它只适用于 case1。我无法在 1 sql select trim(substring('0000157704.FXSPOT.COIBI_I',1,(instr('0000157704.FXSPOT.COIBI_I','.') - 1 ) )) ABC 中获取这两种情况的代码从双重;

标签: netezza


【解决方案1】:

使用Netezza的“position”函数来确定“.”的位置,利用“substr”函数中的这个输出来提取所需的字段。

对于案例 1:

select substr('0000149844.FXFWD.COIBI_I',1,(position('.' in '0000149844.FXFWD.COIBI_I') - 1));

对于案例 2:

select substr('25808.1234140AT',(position('.' in '25808.1234140AT') + 1));

【讨论】:

    猜你喜欢
    • 2020-12-28
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多