NEWS

[SQLSERVER] Chia sẻ hàm cách tính can chi theo tuổi

[SQLSERVER] Chia sẻ hàm cách tính can chi theo tuổi
Đăng bởi: Thảo Meo - Lượt xem: 4321 07:50:55, 09/10/2020DATABASE   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẻ chia sẽ đến các bạn cách tính can chi theo tuổi trong Sqlserver. Ví dụ: Năm 1988 => Mậu Thìn

Vd: 28/03/1988 => Bạn sinh vào ngày thứ hai năm Mậu thìn

Can có 10 can: GIÁP; ẤT; BÍNH ; ĐINH; MẬU ; KỈ ; CANH ; TÂN ; NHÂM; QUÝ. 

Chi có 12 chi: TÝ ; SỬU ; DẦN ; MÃO; THÌN ; TỴ ; NGỌ ;MÙI ; THÂN ; DẬU ; TUẤT; HỢI.

Bảng tính can chi:

+ Bảng can:

0 1 2 3 4 5 6 7 8 9
Canh Tân Nhâm Quý Giáp  Ất Bính  Đinh Mậu Kỷ

+ Bảng chi:

  Sửu Dần Mão Thìn Tỵ Ngọ Mùi  Thân Dậu Tuất Hợi
3 1 2 0 1 2 0 1 2 0 1 2 0
4 0 1 2 3 0 1 2 3 0 1 2 3

Các bạn tạo hàm fn_Nam_CanChi sql như sau:

CREATE FUNCTION [dbo].[fn_Nam_CanChi ]
(
	@Year int
)
RETURNS NVARCHAR(100)
AS
BEGIN
	DECLARE @Can NVARCHAR(50), @Chi NVARCHAR(50)
	SET @Can = CASE WHEN @Year%10 = 0 THEN N'Canh'
					WHEN @Year%10 = 1 THEN N'Tân'
					WHEN @Year%10 = 2 THEN N'Nhâm'
					WHEN @Year%10 = 3 THEN N'Quý'
					WHEN @Year%10 = 4 THEN N'Giáp'
					WHEN @Year%10 = 5 THEN N'Ất'
					WHEN @Year%10 = 6 THEN N'Bính'
					WHEN @Year%10 = 7 THEN N'Đinh'
					WHEN @Year%10 = 8 THEN N'Mậu'
					ELSE N'Kỷ' END
	SET @Chi = CASE WHEN @Year%12 = 0 THEN N'Thân'
					WHEN @Year%12 = 1 THEN N'Dậu'
					WHEN @Year%12 = 2 THEN N'Tuất'
					WHEN @Year%12 = 3 THEN N'Hợi'
					WHEN @Year%12 = 4 THEN N'Tý'
					WHEN @Year%12 = 5 THEN N'Sửu'
					WHEN @Year%12 = 6 THEN N'Dần'
					WHEN @Year%12 = 7 THEN N'Mẹo'
					WHEN @Year%12 = 8 THEN N'Thìn'
					WHEN @Year%12 = 9 THEN N'Tỵ'
					WHEN @Year%12 = 10 THEN N'Ngọ'
					ELSE  N'Mùi' end

	RETURN @Can+' '+@Chi

END

Và dưới đây là hình ảnh kết quả:

canchi_sql

Thank for watching!

THÔNG TIN TÁC GIẢ

[SQLSERVER] Chia sẻ hàm cách tính can chi theo tuổi
Đăng bởi: Thảo Meo - Lượt xem: 4321 07:50:55, 09/10/2020DATABASE   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp