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

Jak wyświetlić dokładny wiek w formacie Rok Miesiąc Dzień w SQL Server?

Cześć Sprawdź poniższe zapytanie.

--DROP TABLE patient
CREATE TABLE patient(PatName varchar(100),DOB date,  Age varchar(100))
INSERT INTO patient
VALUES('a','06/02/1947',NULL),('b','07/10/1947',NULL),('c','12/21/1982',NULL)

;WITH CTE(PatName,DOB,years,months,days) AS 
(SELECT PatName,DOB,DATEDIFF(yy,DOB,getdate()),DATEDIFF(mm,DOB,getdate()),DATEDIFF(dd,DOB,getdate()) FROM patient)

--SELECT * FROM CTE

SELECT PatName,DOB,
      CAST(months/12 as varchar(5))+' Years'+CAST((months % 12) as varchar(5))+' month/s '+CAST(CASE WHEN DATEADD(MM,(months % 12),DATEADD(YY,(months/12),DOB)) <= GETDATE() then DATEDIFF(dd,DATEADD(MM,(months % 12),DATEADD(YY,(months/12),DOB)),GETDATE()) ELSE DAY(getdate()) END as varchar(5))+' days' as Age

FROM CTE


  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 usunąć znak z kolumny w SQL Server?

  2. Inspekcja schematu serwera SQL?

  3. Zainstaluj rozszerzenie agenta programu SQL Server w Azure Data Studio

  4. Co to jest operator logiczny AND w SQL Server — samouczek SQL Server / TSQL — część 120

  5. Nowe wydanie:pakiet dostrajania Spotlight 7.1.9