- [C#] Di chuyển và thay đổi kích thước Control Winform khi ứng dụng đang chạy
- [VB.NET] Chia sẻ source tạo sắp xếp đội hình bóng đá Line-ups đội bóng
- [C#] Hướng dẫn chỉnh sửa Text của label trực tiếp trên winform
- [C#] Hướng dẫn custom TextBox giống Ultraviewer trên Winform
- [C#] Show Modal Winform like Bootstrap
- [DATABASE] Thứ tự thực hiện mệnh đề truy vấn SELECT trong Sqlserver
- [C#] Hướng dẫn viết addin Excel Lấy hình ảnh từ URL internet vào Excel
- [DATABASE] TSQL view max length all column data trên table Sqlserver
- [DEVEXPRESS] Hướng dẫn sử dụng MailMerge kèm Hình ảnh trên Winform
- [DATABASE] Hướng dẫn truy vấn xem kích thước lưu trữ của từng bảng ghi Table trên sqlserver
- [C#] Hướng dẫn Fake Date Time sử dụng thư viện Harmony
- [DATABASE] Phân biệt câu lệnh DDL và DML trong sqlserver
- [C#] Hướng dẫn convert file mã HTML sang file Pdf trên winform
- [DEVEXPRESS] Tạo các loại mã vạch Barcode trực tiếp trên Devexpress Barcode API
- [DEVEXPRESS] Hướng dẫn custom Simple button thành Progressbar
- [DATABASE] Tách số và chữ từ chuỗi - hàm tối ưu hóa tách số và chữ trong Sqlserver
- [C#] Tìm kiếm gần đúng Full Text Search sử dụng thư viện Lucene.NET
- [C#] Chia sẻ tài liệu, sdk và source code máy chấm công dòng máy ZKTeco
- [C#] Memory Cache là gì, và sử dụng trong ứng dụng Winform
- [DATABASE] Khóa chính Primary Key trong Sqlserver
[DATABASE] Hướng dẫn in danh sách tất cả các ngày theo khoảng từ ngày đến ngày
Xin chào các bạn, bài viết hôm nay mình sẽ chia sẽ đến các bạn hàm trong Sqlserver để liệt kê danh sách các ngày trong khoảng thời gian chúng ta nhập vào.
[DATABASE] Hướng dẫn in danh sách tất cả các ngày theo khoảng từ ngày đến ngày
Ví dụ: bây giờ bạn muốn hiển thị danh sách tất cả các ngày từ 01/01/2019
đến 31/12/2019
Hàm dưới đây sẽ hiển thị ra đầy đủ thông tin cho các bạn, thành một một bảng table để các bạn có thể dễ dàng xử lý.
Khi chúng ta nhập vào từ ngày 01/01/2019
đến 31/12/2019
chúng ta sẽ được danh sách trả về như hình bên dưới:
Danh sách trả về bao gồm các bạn đầy đủ thông tin bao gồm: ngày, năm, tháng, ngày trong tháng, id thứ, thứ , tháng_text, ngày trong năm, quý, ngày đầu tiên của năm, ngày đầu tiên của tháng.
Code Print List Date Of Year SQLSERVER:
DECLARE @start_dt AS DATE='20190101';
DECLARE @end_dt AS DATE='20191231';
DECLARE @dates AS TABLE(date_id DATE PRIMARY KEY,
date_year SMALLINT,
date_month TINYINT,
date_day TINYINT,
weekday_id TINYINT,
weekday_nm VARCHAR(10),
month_nm VARCHAR(10),
day_of_year SMALLINT,
quarter_id TINYINT,
first_day_of_month DATE,
last_day_of_month DATE,
start_dts DATETIME,
end_dts DATETIME);
WHILE @start_dt<=@end_dt BEGIN
INSERT INTO @dates(date_id, date_year, date_month, date_day, weekday_id, weekday_nm, month_nm, day_of_year, quarter_id, first_day_of_month, last_day_of_month, start_dts, end_dts)
VALUES(@start_dt, YEAR(@start_dt), MONTH(@start_dt), DAY(@start_dt), DATEPART(WEEKDAY, @start_dt), DATENAME(WEEKDAY, @start_dt), DATENAME(MONTH, @start_dt), DATEPART(DAYOFYEAR, @start_dt), DATEPART(QUARTER, @start_dt), DATEADD(DAY, -(DAY(@start_dt)-1), @start_dt), DATEADD(DAY, -(DAY(DATEADD(MONTH, 1, @start_dt))), DATEADD(MONTH, 1, @start_dt)), CAST(@start_dt AS DATETIME), DATEADD(SECOND, -1, CAST(DATEADD(DAY, 1, @start_dt) AS DATETIME)));
SET @start_dt=DATEADD(DAY, 1, @start_dt);
END;
SELECT date_id AS [Ngày], date_year AS [Năm], date_month AS [Tháng], date_day AS [Ngày trong tháng], weekday_id AS [ID thứ], weekday_nm AS [Thứ], month_nm AS [Tháng], day_of_year AS [Ngày trong năm], quarter_id AS [Quý], first_day_of_month AS [Ngày đầu tiên của tháng], last_day_of_month AS [Ngày cuối cùng của tháng], start_dts, end_dts
FROM @dates;
Thanks for watching!