ritacse
11/15/2017 - 10:36 AM

Date Time in SQL


UPDATE HRMS_Attendance_Register_T set [AtnRegOfcInTime]=
convert(datetime,convert(Date,[AtnRegDate])) +convert(varchar(5),'09:40:00.000')	
where [AtnRegDate] = '2018-03-01'

---GET ONLY MONTH/ YEAR
SELECT MONTH(E.EmpJoiningDate), YEAR(E.EmpJoiningDate)
 FROM [dbo].[HRMS_Employee_T] E WHERE E.EMPID=16

---GET  MONTH Name ONLY
1. SELECT FORMAT(GETDATE(), 'MMMM') AS Result;
2. SELECT DATENAME(month, GETDATE()) AS 'Month Name'

---GET  MONTH Name from month Number
Select DateName( month , DateAdd( month , @MonthNumber , -1 ) ) AS 'Month'
Select Convert (Varchar(10), (DATEDIFF(DAY,ISNULL(dbo.employee_t.joiningDate, GETDATE()),GETDATE()) / 365))+' Year '
      +convert (Varchar(10),((DATEDIFF(DAY,ISNULL(dbo.employee_t.joiningDate, GETDATE()),GETDATE()) % 365) / 30))+' Month '
     +convert (Varchar(10),(DATEDIFF(DAY,ISNULL(dbo.employee_t.joiningDate, GETDATE()),GETDATE()) % 365) % 30) +' Day'AS ServiceLength
     
 --- Add minute/ day/ month / year
 select convert(varchar(26),dateadd(DAY,2,#26JuneAtt.outTime_date),120),-- day
 convert(varchar(26),dateadd(minute,30,outTime_date),120)-- minute
 
 --- Subtruct minute/ day/ month / year
 select convert(varchar(26),dateadd(DAY,-2,#26JuneAtt.outTime_date),120),-- day
 convert(varchar(26),dateadd(minute,-30,outTime_date),120)-- minute
 
 
Declare @StartDate VARCHAR(32), 
@EndDate VARCHAR(32) 

---Date format: yy/MM/dd(2019-02-28)
SET @StartDate = CAST(@Year as VARCHAR(6))+'-'+CAST(@Month as VARCHAR(3))+'-01' 

SET @EndDate = eomonth(@StartDate,0)
SELECT @MonthEndDate= EOMONTH(DATEADD(MONTH, -1, GetDate() )) -- prev month End date

  print @StartDate print @EndDate
  
--- Get Month Name  
Select DateName( month , DateAdd( month , @MonthNumber , -1 ) )
---or
Select @MonthName= DateName( month , DateAdd( month , [CompSalaryMonth] , -1 ) ) FROM [dbo].[PRoll_Company_Monthly_Salary_T]
WHERE  [CompSalaryID]= @CompSalaryID 
---or
  SELECT DATENAME(month, GETDATE()) AS 'Month Name'
  
  --- Get month Mane from number
 SELECT DateName( month , DateAdd( month , @BillMonth , 0 ) - 1 ) AS BillMonth,
CONVERT(DATETIME, Parent.[ActivationDateFrom] , 103) --Date Format 103: 23/05/2013

select cast( @SearchDate as date) 

----- Date Format: DD/MM/YYYY
CONVERT(VARCHAR(10), GETDATE(), 103)  ---  	23/05/2013

----- Date Format: DD/MM/YYYY
CONVERT(VARCHAR(10), GETDATE(), 110)  ---  	02-15-2023

select convert(varchar(20), GETDATE(), 107) --- Jul 17, 2019

SELECT RIGHT(CONVERT(VARCHAR(10), GETDATE(), 105), 7) AS [MM-YYYY] -- 07-2019

---Format Time: HH:MM:SS
CONVERT(VARCHAR(10), GETDATE(), 108)  --- 	17:30:45

---Get Time in 24 hours Format : HH:MM
select  right(CONVERT(VARCHAR(5),CONVERT(DATETIME, '10/1/2013 6:39:04  PM', 0), 108),7)

--- Concate time with date (24 hours format)
Select CONVERT(DATETIME, CONVERT(CHAR(8), reg.date, 112)   + ' ' + CONVERT(CHAR(8),  #26JuneAtt.out_time, 108))

--- get time from dateTime (24 hours format)
select cast(GETDATE()  as time) as OfficeInTime
--or
select convert(char(5), reg.OfficeTimeOut, 108) OfficeOutTime


SELECT *, 
DATEADD(HOUR,6, convert(datetime,vw.Date,120)),DATEADD(DAY,30, convert(datetime,vw.Date,120)) ---ADD
DATEADD(HOUR,-24, convert(datetime,vw.Date,120)),DATEADD(MONTH,6, convert(datetime,vw.Date,120)), --- Deduct
DATEADD(MINUTE,6, convert(datetime,vw.Date,120))

 from [dbo].[EmpT_DPL_Temp#] vw where Date='2020-12-15'

 
SELECT e.inspectionStart, count(e.id) as PlannedFactoryNo, e.teamId,e.sectorId,
	DATEPART(wk, inspectionStart) as WeekNo
	-- (DATEDIFF(DAY ,  inspectionStart, @dateTo ) / 7 ) as WeekNo --- Manual week calculation
	FROM [dbo].[EstablishmentBasicInfo_T] e

	WHERE 	e.inspectionStart>=@dateFrom and e.inspectionStart<=@dateTo

DECLARE @dates TABLE(dt datetime)   
DECLARE @dateFrom datetime
DECLARE @dateTo datetime
 
SET @dateFrom = '2022-06-01'; 
SET @dateTo = '2022-06-30'

 
WHILE(@dateFrom  < @dateTo)
BEGIN
 
  SELECT @dateFrom = DATEADD(day, 1,@dateFrom)
 
   INSERT INTO @dates  SELECT @dateFrom
 
END
 
declare @Friday_Date datetime
 
 select dt as fridayDate
 from @dates where	datename(DW,dt) = 'friday' and dt <= @dateTo