it-source

SQL Server에서 잘라내기(sysdate)

criticalcode 2023. 10. 3. 09:51
반응형

SQL Server에서 잘라내기(sysdate)

다음과 동등한 것은 무엇입니까?

TRUNC(SYSDATE) 

...SQL Server 2005에서?

권장 사항:

DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))

이는 또 다른 대안이지만, FLOOT에 캐스팅하기 때문에 위험합니다.또한 DATEADD/DATEDIFF 접근 방식과 마찬가지로 성능을 확장하지 못하는 것으로 입증되었습니다.

CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)

또 다른 방법은 CONVERT(MSSQL 2008 이후)를 사용하고 적절한 스타일을 사용하거나 SUSTRING 할 수 있는 스타일을 사용하는 것입니다. date add/date diff 솔루션과 비교했을 때 성능에 대해서는 전혀 모릅니다.

예.

SELECT SUBSTRING(CONVERT(nvarchar(30), GETDATE(), 120), 1, 16)

반환:

2012-01-03 15:30

분당 생성된 행을 나열하는 그룹 예('생성된' 날짜 시간 열을 가정함):

SELECT SUBSTRING(CONVERT(nvarchar(30), created, 120), 1, 16) as [minute]
, COUNT(1) as [per min]
FROM foo
GROUP BY SUBSTRING(CONVERT(nvarchar(30), created, 120), 1, 16)

SQL Server 2022 CTP 2.1 현재 DATETRUNC()가 지원되므로 Oracle의 TRUNC() 기능과 잘 일치해야 합니다.설명서는 여기에서 찾을 수 있습니다.

언급URL : https://stackoverflow.com/questions/1713127/truncsysdate-in-sql-server

반응형