SQL에서 날짜를 선택하면로 반환됩니다 2011-02-25 21:17:33.933
. 그러나 Date 부분 만 필요합니다 2011-02-25
. 어떻게해야합니까?
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 을 참조하십시오
DATE
date
, 따라서 무효로이 솔루션을 렌더링 데이터 유형입니다.
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
대한 2008 이전 버전 :
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
약간 늦었지만 ODBC "curdate"함수를 사용하십시오 (각괄호 'fn'은 ODBC 함수 이스케이프 시퀀스입니다).
SELECT {fn curdate()}
산출: 2013-02-01
SELECT {fn curdate()} FROM (SELECT 1) AS T(X)
하고 실제 실행 계획 (xml 버전)을 살펴보면 실제로 실행되는 것이 CONVERT(varchar(10),getdate(),23)
입니다. 이 ODBC 함수의 데이터 타입은 그래서 varchar(10)
당신이와 결과를 비교하려면 것을 어떤 수단 datetime
이에서 암시 적 변환을 얻을 것이다 varchar(10)
으로 datetime
문자열에 yyyy-mm-dd
. 암시 적 변환은로 실패합니다 set dateformat dmy
.
시간이 0이 필요한 경우 2018-01-17 00:00:00.000
:
SELECT CONVERT(DATETIME, CONVERT(DATE, GETDATE()), 121)
사용은 간단합니다 :
convert(date, Btch_Time)
아래 예 :
표:
Efft_d Loan_I Loan_Purp_Type_C Orig_LTV Curr_LTV Schd_LTV Un_drwn_Bal_a Btch_Time Strm_I Btch_Ins_I
2014-05-31 200312500 HL03 NULL 1.0000 1.0000 1.0000 2014-06-17 11:10:57.330 1005 24851e0a-53983699-14b4-69109
Select * from helios.dbo.CBA_SRD_Loan where Loan_I in ('200312500') and convert(date, Btch_Time) = '2014-06-17'
PLSQL에서는 다음을 사용할 수 있습니다
to_char(SYSDATE,'dd/mm/yyyy')
먼저 날짜를 부동 소수점 (숫자 표시)으로 ROUND
변환 한 다음 숫자를 0 소수점으로 변환 한 다음 datetime으로 변환하십시오.
convert(datetime,round(convert(float,orderdate,101),0) ,101)