Convertire stringa in numero sql

Come posso convertire in sql un dato di tipo testo (string) in un numero? Qual'è la sintassi della query sql che devo andare a scrivere? Grazie.

Risolta 4
MySql 26-03-2020 2 Risposte 13452 Visite +3

Risposte ( 2 approvate )

  1. Giacomo Barrile
    +2
    26-03-2020 09:26:08
    Rispondi

    Per convertire una stringa in numero in sql (MySql), esistono due funzioni predefinite del linguaggio, CONVERT e CAST che svolgono proprio questo compito.

    Sia l'una che l'altra sono in grado di convertire non solo una stringa in numero, ma qualsiasi tipo in un altro che tu specifichi come secondo parametro, la signature (firma) delle due funzioni è:

    CONVERT(value, type)

    mentre per l'altra avremo:

    CAST(value AS datatype)

    Vediamo giusto un paio di esempi, sia per l'una che per l'altra.

     

    Usando la funzione CONVERT di MySql, per convertire una stringa in numero devi fare la seguente query sql:

    SELECT CONVERT("146", INT); 

     

    mentre se desideri usare la CAST, la query sql diventa:

    SELECT CAST("146" AS INT); 

     

    e ripeto, entrambe le funzioni sono in grado di convertire qualsiasi valore (non solo da testo a numero) nel tipo di dato specificato.

  2. Federico Di Sutta
    -3
    26-03-2020 09:32:33
    Rispondi

    Puoi usare la CAST() per convertire il tipo string nel tipo integer, l'uso sql è questo:

    SELECT CAST('132' AS INTEGER);

    ovviamente puoi specificare anche gli attributi del tipo per una coversione ancora più specifica

    SELECT CAST('132' AS SIGNED INTEGER);

    o ancora

    CAST('132' AS UNSIGNED INTEGER);

    e come già detto dal collega, la CAST o la CONVERT possono convertire qualsiasi tipo in sql, non solo da stringa a numero.

     

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

Paolo Cereschini

Paolo Cereschini

Autore di questa domanda

 Domanda Precedente

 Elenco Domande 

Domanda Successiva