Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: funzione cast()

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168

    funzione cast()

    Ciao ragazzi, vorrei trasformare una variabile numerica in una variabile nominale. Consultando il manuale ho visto che esiste la funzione cast() avente la seguente sintassi:

    CAST(espressione AS tipo di dato)

    dove al posto di "tipo di dato" metterò char(n).
    Il mio dubbio è: al posto di "espressione" posso mettere il nome del campo della mia tabella i cui valori devono essere trasformati da numerici in nominali? O deve essere necessariamente essere messo il valore numerico?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    Re: funzione cast()

    Originariamente inviato da lilux
    Il mio dubbio è: al posto di "espressione" posso mettere il nome del campo della mia tabella i cui valori devono essere trasformati da numerici in nominali?
    Certo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168
    Ok.
    Scusa se insisto ma ti chiedo un'ulteriore conferma/smentita: affinchè tale cast avvenga, devo lanciare la query:

    insert into nome_tabella
    cast(nome campo as char (20))

    oppure devo scrivere la query diversamente?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Scusa se rispondo a una domanda con un'altra domanda ma esattamente cosa vorresti ottenere?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168
    Come ti dicevo, ho un campo che ha dei valori numerici. Questi valori dovò darli "in pasto" ad un sistema che non accetta valori numerici ma solo nominali, per cui voglio effettuare questa conversione.
    Quindi vorrei sapere se devo fare una insert o forse meglio un update per ottenere valori nominali! Non so se sono stata chiara

  6. #6
    fa' il casting *mentre* alimenti la tabella di destinazione

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Bo, non sono affatto certo di cosa intenda per nominali.
    Se vuoi trattare dei valori numerici come stringhe inseriscili in un campo di tipo char/varchar, con tutto ciò che ne consegue, impossibilità di ordinamento (a meno di cast), ecc.

    Lascio la parola a gente più illuminata.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168
    @nicola75ss--> il problema è questo:se il campo in questione ha valore 10, il sistema associa automaticamente a campi che hanno questo campo con valore maggiore o uguale a 10 una scelta e a numeri inferiori di 10 un'altra scelta. Io voglio che il numero identificativo 10 sia interpretato come una persona. Per esempio vorrei che 10 sia gianni, per cui gianni agisce in un modo, 11 =giuseppe agisce in un altro, etc.
    Ora io ho moltissimi numeri identificativi (tipo 3265417892643) e non sono in ordine crescente. Quindi voglio applicare una funzione che riesca a convertirli in stringhe di caratteri o qualunque cosa che non sia un numero.

    @optime-->data la mia ignoranza in materia, mi fai un esempio che mi spieghi cosa intendi dire?

  9. #9
    lillina, non ci capisco niente. un numero corrisponde ad una persona? questa corrispondenza sta scritta da qualche parte? se è così, CAST non serve a niente! il numero 10 castato a stringa sempre 10 vale!!! Mica diventa Gianni per magia...

    fa' tu un esempio

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    168
    Si, in teoria un numero (sarebbe il numero identificativo, il classico ID) deve corrispondere ad una persona ma a me non interessa che si chiama gianni o giuseppe. Per rispondere alla tua domanda, questa corrispondenza non sta scritta da nessuna parte. Per me basterebbe che ai miei numeri sia associata anche solo una lettera. Ad esempio:

    5416789618724 a
    8967573261723 b
    5276543765425 c

    Dato che ho tanti numeri identificativi, l'associazione potrebbe continuare così:

    4357887347344 aaabd

    L'importante è che al posto dei numeri compaiano le lettere.
    C'è un modo per associare anche in maniera random delle lettere a dei numeri, tenendo presente, ovviamente, che allo stesso numero deve essere associata sempre la stessa sequenza di lettere!

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.