Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

T-SQL Dynamischer Alias ​​ohne Verwendung von dynamischem SQL

Nein, Sie können den Namen des Alias ​​nicht basierend auf dem Wert ändern, es sei denn, Sie verwenden dynamisches SQL.

Wenn Sie die Spalten auswählen, können Sie nur einen Namen/Alias ​​für jede Spalte haben.

Wenn Sie unterschiedliche Spaltennamen wünschen, könnten Sie einige wie die folgenden verwenden, die unterschiedliche select-Anweisungen verwenden:

IF @testing = 'choice'
    select 1 as 'Chose'
ELSE 
    select 1 as 'didntChoose'   

Oder Sie könnten zwei separate Spalten zurückgeben:

select 
    case when @testing = 'choice' then 1 else 0 end Chose,
    case when @testing <> 'choice' then 1 else 0 end DidNotChose