Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Serwer Ms sql - przypisanie daty do zmiennej

Nie możesz przypisać takiej zmiennej. Poza tym po co? Gdzie używasz tej zmiennej? Po prostu usuń set @MYYEAR = i powinno być dobrze. Jeśli naprawdę chcesz przypisać tę zmienną za pomocą tej logiki, zrób to poza głównym SELECT oświadczenie.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zainstalować SQL Server w Red Hat 8?

  2. SQL Server 2017:importowanie danych CSV z systemu Linux do Salesforce za pomocą SSIS

  3. Czy istnieje poważny spadek wydajności korzystania z kluczy obcych w programie SQL Server?

  4. Jak wysłać e-mail z SQL Server?

  5. Typy danych VARCHAR i NVARCHAR w SQL Server