Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [SQL] estrarre solo una parte di un campo in una tabella

    Ciao a tutti,
    ho un problema e volevo sapere se avevate una soluzione.
    In una tabella ho un campo "NUMBERRESULTS" che è valorizzato in questo modo: "PS=0,PB=0,PU=0,PM=0"
    Il mio problema è questo, i quattro zeri che vedete solitamente vengono valorizzati con un numero che va da 0 a 6 cifre. Quindi da 0 a 999999. (ES: PS=45433,PB=132,PU=554,PM=1241)
    Loro vogliono che io faccia una create table as select che, oltre ad altri campi, prenda questo e lo divida nei quattro (PS,PB,PU,PM).
    Essendo di lunghetta variabile non posso usare la substr e con la decode sto andando ad incasinarmi non poco... avete qualche idea geniale su come fare in sql?
    Grazie
    Ger
    Gerwalk

  2. #2

    Come al solito mi rispondo da solo :_(

    create table TMP_PG_EXTRACT
    as select
    data,
    qs,
    domain,
    cname,
    from_s,
    offset,
    substr(NUMBERRESULTS,instr(NUMBERRESULTS,'=',1,1)+ 1,instr(NUMBERRESULTS,',',1,1)-instr(NUMBERRESULTS,'=',1,1)-1) AS PS,
    substr(NUMBERRESULTS,instr(NUMBERRESULTS,'=',1,2)+ 1,instr(NUMBERRESULTS,',',1,2)-instr(NUMBERRESULTS,'=',1,2)-1) AS PB,
    substr(NUMBERRESULTS,instr(NUMBERRESULTS,'=',1,3)+ 1,instr(NUMBERRESULTS,',',1,3)-instr(NUMBERRESULTS,'=',1,3)-1) AS PU,
    substr(NUMBERRESULTS,instr(NUMBERRESULTS,'=',1,4)+ 1,10) AS PM
    from TMP_PG_DISP_LOG;

    Ciao
    Ger
    Gerwalk

  3. #3
    instr non mi sembra una funz standard usa Locate
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.