How to create SQL queries that return specific calculated dates respective to today's date and to avoid hard coding these dates within the query itself
Issue
How to create SQL queries that return specific calculated dates respective to today's date and to avoid hard coding these dates within the query itself.
Product
Power Monitoring Expert 8.x
Power Monitoring Expert 9.x
Power Monitoring Expert 2020
Power Monitoring Expert 2021
Power Monitoring Expert 2022
Power Monitoring Expert 2023
Environment
SQL Server Management Server
Resolution
*Warning: Irreparable database damage can occur. This procedure should only be performed by users familiar with SQL Server Management Studio. Databases should be backed up prior to performing this procedure.*
The following sample queries (ex. 1-5) depict the use of various SQL functions to calculate and return specific dates respective to today's date.
These SQL queries can then be used as sub-queries within another SQL query's WHERE clause to retrieve specific period of data based on the dynamically calculated date range. (ex. 6) The below queries illustrate just a small sample of the possible use cases. These can be used in many other situations and tailored to meet your specific requirement.
1) Select CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(GETDATE())),GETDATE()),101) AS Date_Value, 'Last Day of Previous Month' AS Date_Type
2) Select CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(GETDATE())-1),GETDATE()),101) As Date_Value, 'First Day of Current Month' AS Date_Type
3) Select CONVERT(VARCHAR(25),GETDATE(),101) As Date_Value, 'Today' As Date_Type
4) Select CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,GETDATE()))),DATEADD(mm,1,GETDATE())),101) As Date_Value, 'Last Day of Current Month' As Date_Type
5) Select CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,GETDATE()))-1),DATEADD(mm,1,GETDATE())),101) As Date_Value, 'First Day of Next Month'As Date_Type
6) Select * from DataLog2
WHERE
TimestampUTC >= (SELECT CONVERT(VARCHAR(25),GETDATE(),101))
AND
TimestampUTC <= (SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,GETDATE()))),DATEADD(mm,1,GETDATE())),101))
게시 대상: 슈나이더 일렉트릭 Korea


도움이 필요하신가요?
제품 선택기
애플리케이션에 적합한 제품과 액세서리를 빠르고 쉽게 찾을 수 있습니다.
견적 받기
영업 관련하여 온라인으로 문의하시면 전문가가 연락드립니다.
구매처
해당 지역의 가장 가까운 슈나이더 일렉트릭 대리점을 쉽게 찾을 수 있습니다.
지원 센터
한 곳에서 모든 요구 사항에 대한 지원 리소스를 찾아보십시오.