Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara menampilkan usia yang tepat dalam format Tahun Bulan Hari di SQL Server

Hai Periksa kueri di bawah ini.

--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. SQL pilih semua jika parameternya nol, jika tidak, kembalikan item tertentu

  2. Bagaimana cara menghapus bagian waktu dari nilai datetime (SQL Server)?

  3. 4 Cara untuk Mengetahui Kolom Apa yang Akan Dikembalikan oleh Prosedur Tersimpan di SQL Server

  4. Bagaimana menemukan SQL Server menjalankan port?

  5. Ubah 'smalldatetime' menjadi 'datetimeoffset' di SQL Server (Contoh T-SQL)