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)
사이버키위에서:
두 가지 기능을 포함하지 않는 대안은 다음과 같습니다(+1은 괄호 안에 있거나 괄호 안에 있을 수 있습니다).
DATEDIFF(DAY, 0, GETDATE() +1)
DateDiff
숫자를 반환하지만 이 표현식을 직접 VARCHAR로 변환하는 경우를 제외하고는 모든 목적에서 이 표현식이 날짜로 작동합니다. 이 경우 GETDATE(예: GETDATE)에 직접 변환 접근 방식을 사용했을 수 있습니다.
convert(varchar, GETDATE() +1, 102)
SQL Server 2008의 가장 적합하고 인덱스 친화적인 방법은
DELETE from Table WHERE Date > CAST(GETDATE() as DATE);
이전 SQL Server 버전의 경우 날짜 함수가 varchar로 변환하는 것보다 더 빨리 작동합니다.지역 설정 때문에 바르샤르로 변환해도 잘못된 결과를 얻을 수 있습니다.
DELETE from Table WHERE Date > DATEDIFF(d, 0, GETDATE());
참고: 포장할 필요가 없습니다.DATEDIFF
다른 것과 함께DATEADD
데이터베이스에 따라 다릅니다.사용 중인 데이터베이스 엔진을 지정하지 않았습니다.
예: Postgre에서사용자가 캐스트하는 SQL(날짜 기준 내 값).
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
'programing' 카테고리의 다른 글
터미널을 사용하여 Mac OS X에서 C 프로그램을 실행하려면 어떻게 해야 합니까? (0) | 2023.05.06 |
---|---|
Docker 이미지 내부의 사용자를 루트가 아닌 사용자로 전환 (0) | 2023.05.06 |
이미지를 로드할 때 WPF에서 "리소스를 찾을 수 없음" 예외가 발생함 (0) | 2023.05.06 |
"git clone 중에 'https'에 대한 원격 도우미를 찾을 수 없습니다. (0) | 2023.05.06 |
자체 서명된 인증서가 있는 윈도우즈에서 git를 사용하여 "로컬 발급자 인증서를 가져올 수 없음"을 확인할 수 없음 (0) | 2023.05.06 |