Utilizzare stringa come nome colonna

di kkzan il
3 risposte

Buongiorno a tutti, ho una domanda da sottoporre:

estraendo il nome della colonna della tabella con il comando “COL_NAME(OBJECT_ID('_LISTINO'),1)” è possibile utilizzare questo risultato per utilizzarlo in una where come fosse il nome della colonna di cui controllare il valore?

Provo a spiegare meglio:

Tabella ESEMPIO

AB
110
211
  

SELECT B FROM ESEMPIO WHERE COL_NAME(OBJECT_ID('ESEMPIO'),1)=1

per avere come risultato della select 10

Grazie a chi vorrà aiutarmi

3 Risposte

  • Ciao, 

    ci vorrebbe una query dinamica… Execute Dynamic SQL commands in SQL Server (mssqltips.com)
    per esempio una cosa di questo tipo ? 

    DECLARE @cName NVARCHAR(255) = COL_NAME(OBJECT_ID('ESEMPIO'), 1);
    DECLARE @dSql NVARCHAR(MAX);
    SET @dSql = 'SELECT B FROM ESEMPIO WHERE ' + QUOTENAME(@cName) + ' = 1';

  • Salve a tutti,

    @Franco, e' corretto, manca pero' il comando di esecuzione fisico:

    EXEC (@dSql);

    salutoni romagnoli
    --
    Andrea

  • 11/11/2023 - asql ha scritto:


    Salve a tutti,

    @Franco, e' corretto, manca pero' il comando di esecuzione fisico:

    EXEC (@dSql);

    salutoni romagnoli
    --
    Andrea

    Salutoni !!!  ;-)

Devi accedere o registrarti per scrivere nel forum
3 risposte