sql >> Databáze >  >> RDS >> Sqlserver

Převeďte den v roce na datum a čas v SQL Server

Získejte část Rok, převeďte na datum a čas + přidejte dny

DECLARE @var NVARCHAR(100) = '2015223';

SELECT CAST(LEFT(@var, 4) AS DATETIME) +  CAST(RIGHT(@var, 3) AS INT) - 1;

Nebo:

DECLARE @var NVARCHAR(100) = '2015223';

SELECT DATEADD(dd,CAST(RIGHT(@var, 3) AS INT)-1, CAST(LEFT(@var, 4) AS DATETIME))

Nebo pokud yyyyxxx je INT:

DECLARE @var INT = 2015223;

SELECT DATEADD(dd,(@var%1000)-1, CAST(CAST((@var/1000) AS NVARCHAR(100)) 
               AS DATETIME));

LiveDemo



  1. Jak transponovat řádky tabulky mysql do sloupců

  2. #1060 – Duplicitní název sloupce 'id'

  3. Different() funkce (ne select qualifier) ​​v postgresu

  4. PostgreSQL:NOT IN versus EXCEPT rozdíl ve výkonu (upraveno #2)