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

    [Mysql] Problema BETWEEN e campo VARCHAR

    ciao!

    in una tabella ho un campo VARCHAR(12), con valori così composti:
    V7/1/2015
    V7/2/2015
    V7/3/2015
    ........
    V7/3000/2015

    io dovrei fare una query per prendere un range.
    tipo:
    codice:
    SELECT * FROM tbl
    WHERE campo BETWEEN "V7/10/2015" AND "V7/50/2015"
    il problema è che, ovviamente, così non mi funziona.
    perchè mi tira fuori anche record "più grandi", tipo "V7/100/2015".

    come posso fare??

  2. #2
    Utente bannato
    Registrato dal
    Jul 2013
    Messaggi
    290
    temo serva un po' di replace.
    fossi in te in pratica farei cast(replace(replace(campo,"V7/",""),"/2015","") as integer)

  3. #3
    ciao!

    così pare funzionare:
    codice:
    SELECT * FROM campo
    WHERE YEAR(t_data_invio ) = "2015"
    AND (CAST(REPLACE( REPLACE( t_numero, "V7/", "" ) , "/2015", "" ) AS SIGNED)  BETWEEN 30 AND 50)
    ho dovuto usare SIGNED al posto di INTEGER (mi dava errore).

    grazie per la dritta!!

  4. #4
    se farai molte ricerche basate su quel valore, ti converrà aggiungere una colonna con solo quel valore e indicizzarla; una ricerca come quella (pur funzionando) ammazza il server

  5. #5
    Quote Originariamente inviata da optime Visualizza il messaggio
    se farai molte ricerche basate su quel valore, ti converrà aggiungere una colonna con solo quel valore e indicizzarla; una ricerca come quella (pur funzionando) ammazza il server
    si ci stavo pensando in effetti.
    per ora, però, si tratta solo di un piccolo programmino che usa una persona sporadicamente.
    quindi non dovrei avere problemi del genere!

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.