Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chuyển đổi ngày trong năm thành datetime trong SQL Server

Nhận phần Năm, chuyển đổi thành datetime + thêm ngày

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

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

Hoặc:

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

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

Hoặc nếu yyyyxxx là INT:

DECLARE @var INT = 2015223;

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

LiveDemo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bắt Hibernate và SQL Server để chơi tốt với VARCHAR và NVARCHAR

  2. Thêm / sửa đổi cột XML, với các thuộc tính từ một giá trị cột khác, Trả về kết quả dưới dạng cột với các trường khác

  3. Chèn vào bảng .. thực thi tại máy chủ được liên kết không hoạt động

  4. Làm cách nào để giữ một phiên bản kết nối SQL Server mở cho nhiều yêu cầu trong C #?

  5. Rủi ro xung đột UUID sử dụng các thuật toán khác nhau