2 개의 날짜를 비교해야합니다. 하나의 datetime과 하나의 varchar가 필요합니다. 이렇게하려면 내 varchar datetime으로 변환하고 임시 테이블에 삽입하십시오.2 날짜와 cte를 비교하십시오
cte로 시도했지만 간단한 선택으로 동일한 결과가 작동하지 않았습니다.
내 요청이 임시 테이블에서 작동하고 cte로 작동하지 않는 이유는 무엇입니까? CTE를 사용
DECLARE @Tb TABLE
(
DateCreation DATETIME,
DateAchat DATETIME
)
insert into @Tb
SELECT
Convert(datetime, DateCreation, 120), -- varchar
Convert(datetime, DateAchat, 103), -- datetime
FROM MyTable
SELECT DISTINCT * FROM @Tb WHERE DateAchat > DateCreation ORDER BY OrderId ASC
:
테이블 사용하여 당신은 당신의 CONVERT 발현 내부의 열 이름 주위에 따옴표를 가지고
WITH cte (DateCreation, DateAchat)
AS (
SELECT
Convert(datetime, DateCreation, 120), -- varchar
Convert(datetime, DateAchat, 103), -- datetime
FROM MyTable
)
SELECT DISTINCT * FROM cte WHERE DateAchat > DateCreationenter code here
"작동하지 않는다"고 말할 때 - 왜요? 오류, 결과 없음, 잘못된 결과가 나타 납니까? –
내 오류는 "char 데이터 형식을 datetime 데이터 형식으로 변환하여 날짜/시간 값이 잘못되었습니다" – Ganbo
여기에 뭔가 다른 것이 있습니다. 이 select 문은 다르게 동작하지 않습니다. 그것은 실제 코드가 아닙니다. @Tb에는 OrderID가 없습니다. – Paparazzi