ProgramingTip

MSSQL GetDate ()를 사용할 때 날짜 만 가져 오려면 어떻게해야합니까?

bestdevel 2020. 10. 27. 23:00
반응형

MSSQL GetDate ()를 사용할 때 날짜 만 가져 오려면 어떻게해야합니까?


이 질문에 이미 답변이 있습니다.

DELETE from Table WHERE Date > GETDATE();

GETDATE ()에는 시간이 포함됩니다. 얻는 대신

2011-01-26 14:58:21.637

어떻게합니까?

2011-01-26 00:00:00.000

SQL Server에 대한 약간의 편견

요약

DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)

SQL Server 2008에는 date유형이 있습니다. 그래서 그냥 사용

CAST(GETDATE() AS DATE)

편집 : 하루를 추가 비용으로 "0"전날과 비교하십시오.

DATEADD(day, DATEDIFF(day, -1, GETDATE()), 0)

Cyberkiwi에서 :

2 개의 기능을 포함하지 않는 대안은 (+1은 대괄호 안에 우리쪽에있을 수 있습니다)입니다.

DATEDIFF(DAY, 0, GETDATE() +1)

DateDiff 숫자를 반환하지만 모든 목적을 VARCHAR로 직접 변환하는 경우를 제외 하고는이에서 사용하려는 경우 모든 경우에 날짜로 작동합니다.이 경우 GETDATE () 직접 변환 할 수 있습니다.

convert(varchar, GETDATE() +1, 102)

SQL Server 2008의 경우 가장 고급스럽고 고급스러운 방법은

DELETE from Table WHERE Date > CAST(GETDATE() as DATE);

이전 SQL Server 버전의 경우 날짜 계산이 varchar로 변환하는 것보다 더 빠른 작동합니다. varchar로 변환해도 지역 설정으로 잘못된 결과를 얻을 수 있습니다.

DELETE from Table WHERE Date > DATEDIFF(d, 0, GETDATE());

참고 : DATEDIFF다른 포장 할 필요가 없습니다.DATEADD


데이터베이스에 따라 늘어서 있습니다. 사용중인 데이터베이스 엔진을 지정하지 않습니다.

예를 들어 PostgreSQL에서는 캐스트 (날짜로 myvalue)를 수행합니다.


SELECT CONVERT(DATETIME, CONVERT(varchar(10), GETDATE(), 101))

당신이 사용할 수있는

DELETE from Table WHERE Date > CONVERT(VARCHAR, GETDATE(), 101);

CONVERT(varchar,GETDATE(),102)

여기에 몇 가지 해결 방법이 있습니다.)

http://www.bennadel.com/blog/122-Getting-Only-the-Date-Part-of-a-Date-Time-Stamp-in-SQL-Server.htm

참고 URL : https://stackoverflow.com/questions/4809956/how-do-i-get-just-the-date-when-using-mssql-getdate

반응형