67

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

MS-SQL Server 2008 R2에서 현재 날짜를 얻으려면 어떻게합니까?

내 데이터베이스의 열 형식은 다음과 같습니다.DATETIME날짜는 다음 형식으로 저장됩니다.

+++++++++++++ Vrdate ++++++++++
|                             |
|   2012-11-18 00:00:00.000   |
|   2012-11-19 00:00:00.000   |
|   2013-11-18 00:00:00.000   |
|   2012-12-01 00:00:00.000   |
|   2010-10-09 00:00:00.000   |
|   2012-11-11 00:00:00.000   |
|                             |
+++++++++++++++++++++++++++++++

검색했지만 날짜를이 형식으로 가져 오는 방법을 찾을 수 없습니다 (즉,이 형식과 관련된 시간을 가짐).00:00:00.00). 찾았다.GETDATE()함수는 날짜와 함께 현재 시간을 제공하지만, 원하는 것은 다음 형식으로 날짜를 얻는 것입니다.CurrentDate 00:00:00.00

어떻게해야합니까?

2 답변


108

SELECT CAST(GETDATE() AS DATE)

시간 부분이 제거 된 현재 날짜를 리턴합니다.

DATETIMEs는 "다음 형식으로 저장"되지 않습니다. 이진 형식으로 저장됩니다.

SELECT CAST(GETDATE() AS BINARY(8))

질문의 표시 형식은 저장소와 관계가 없습니다.

특정 디스플레이 형식으로 형식을 지정하려면 응용 프로그램에서 수행해야합니다.


  • OP가 TIME 부분을 '00 : 00 : 00.000'으로 설정하고 DATETIME 결과를 얻으려는 경우 OP를 추가하면됩니다.SELECT CAST(CAST(GETDATE() AS DATE) AS DATETIME). - LightBulb
  • @ KamranAhmed, 그 경우, 당신을 가리키고 싶습니다.T-SQL 날짜 및 시간 함수 참조. - LightBulb
  • 새로 고침하고 다시 시도하십시오. 나는 실수를했고 나중에 그것을 적절한 링크로 바 꾸었습니다. 그 죄송합니다. - LightBulb
  • @ LightBulb 감사합니다, 반드시 확인 :) - Kamran Ahmed

14

SQL Server 2008을 사용하면서 마틴의 답을 찾아보십시오.

SQL Server 2005에서이 작업을 수행해야하는 경우Date열 유형, 내가 사용 줄 :

SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)

SQLFiddle

연결된 질문


관련된 질문

최근 질문