sql >> Databasteknik >  >> RDS >> Sqlserver

Ms sql server - tilldela ett datum till en variabel

Du kan inte tilldela en sådan variabel. Dessutom, vad är poängen? Var använder du den variabeln? Ta bara bort set @MYYEAR = och du borde må bra. Om du verkligen vill tilldela den variabeln med den logiken, gör det utanför din huvud SELECT uttalande.

declare @MYYEAR int
set @MYYEAR = 
(SELECT  
    CASE
        WHEN CONVERT(INTEGER,BTHDAT) = 0 THEN 0
        WHEN  datepart(DY,convert(date, BTHDAT)) > datepart(DY,'2015/07/01') THEN DATEDIFF(YEAR, convert(date, BTHDAT),'2015/07/01') - 1
        ELSE DATEDIFF(YEAR,convert(date, BTHDAT),'2015/07/01')  
    END
FROM SomeTable)

SELECT  
    SERVICE_GROUP, 
    SERVICE_CATEGORY,
    @MYYEAR
FROM
    SomeOtherTable



  1. MySQL avvisar kolumn med ON DELETE SET NULL men inte ON DELETE CASCADE

  2. DB ORACLE QUERY

  3. Flera Inner Join radera attribut

  4. Docker-compose miljövariabler