Một số hàm ngày trong SQL Server

Một số hàm ngày SQL Server hay sử dụng trong làm phần mềm

Một số hàm xử lý ngày (date) trong sql server

  1. Ngày hiện hành trong SQL Server trong sql server
  2. Lấy tháng trong SQL Server trong sql server
  3. Tính thời gian sử dụng giờ vào, giờ ra trong sql server
  4. Xác định tổng ngày của 1 tháng trong sql server
  5. Xác định ngày bắt đầu tháng và ngày cuối tháng trong sql server
  6. Cộng trừ ngày trong SQL Server



- Ngày hiện hành trong SQL Server
GETDATE()
Select GETDATE() as 'Ngay hom nay'


- Lấy tháng trong SQL Server

MONTH( GETDATE())
Select MONTH( GETDATE()) as 'Thang nay la'

- Tính thời gian sử dụng giờ vào , giờ ra trong SQL Server

Select GioVao,GioRa,GioVao
,DATEDIFF(hour,GioVao,GioRa) as Gio
,DATEDIFF(minute,GioVao,GioRa) as phut
  From tbChungTu
 

- Xác định tổng ngày của 1 tháng trong sql server

--How to determine the number of days in a month in SQL Server
DECLARE @date DATETIME
SET @date = GETDATE()
-- Cách 1
select datediff(day, dateadd(day, 1-day(@date), @date),
              dateadd(month, 1, dateadd(day, 1-day(@date), @date)))
-- Cách 2
select DAY(DATEADD(DD,-1,DATEADD(MM,DATEDIFF(MM,-1,@DATE),0)))

Viết ra 1 function getDaysInMonth sql server

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        <Author,,Name>
-- Create date: <Create Date, ,>
-- Description:    <Description, ,>
-- =============================================
-- select [dbo].[getDaysInMonth ](2024,4)
ALTER FUNCTION [dbo].[getDaysInMonth ]
(
    -- Add the parameters for the function here
    @Month int
,    @Year int
)
RETURNS int
AS
BEGIN
    -- Declare the return variable here
    DECLARE @kq int
    DECLARE @date DATETIME
    set @date =Cast(@Year as nvarchar(4)) + '-' +  Cast(@Month as nvarchar(4)) + '-1'
    select @kq=DAY(DATEADD(DD,-1,DATEADD(MM,DATEDIFF(MM,-1,@DATE),0)))
    return @kq
END

- Xác định ngày bắt đầu thàng và ngày cuối tháng trong sql server

--  xxx
 

 

- Cộng trừ ngày trong sql server

    DECLARE @Ngay DateTime
    Set @Ngay=getDate()

    select DATEADD(day, -1, Ngay)