SQL에서 날짜를 선택하면로 반환됩니다 2011-02-25 21:17:33.933
. 그러나 Date 부분 만 필요합니다 2011-02-25
. 어떻게해야합니까?
답변
나는 그가 문자열을 원한다고 생각합니다.
select convert(varchar(10), '2011-02-25 21:17:33.933', 120)
(120)는 여기에 우리가의 입력 날짜 통과하는 변환 기능을 알려줍니다 다음과 같은 형식을 : yyyy-mm-dd hh:mi:ss
.
답변
SQL Server 2008의 경우 :
Convert(date, getdate())
https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql 을 참조하십시오
답변
가장 빠른 datediff
예 :
select dateadd(d, datediff(d,0, [datecolumn]), 0), other..
from tbl
그러나 값만 사용하면 dateadd를 건너 뛸 수 있습니다.
select ...
WHERE somedate <= datediff(d, 0, getdate())
여기서 표현 datediff(d, 0, getdate())
은 시간 부분없이 오늘 날짜를 반환하기에 충분합니다.
답변
나를 위해 일한 CAST (GETDATE () 날짜)를 간단하게 사용하십시오.
답변
CAST(
FLOOR(
CAST( GETDATE() AS FLOAT )
)
AS DATETIME
)
http://www.bennadel.com/blog/122-Getting-Only-the-Date-Part-of-a-Date-Time-Stamp-in-SQL-Server.htm
답변
이처럼 사용할 수 있습니다
SELECT Convert(varchar(10), GETDATE(),120)
답변
대한 2008 이전 버전 :
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)