2 테이블 ServiceType
및 Services
이 있습니다.datetime SQL 쿼리에 대한 nvarchar 데이터 형식
Service
테이블 구조
ServiceID int Unchecked
Service_TypeID int Unchecked
Last_performed date Unchecked
Frequency nvarchar(50) Unchecked
Freq_Duration nvarchar(50) Unchecked
Freq_Mileage nvarchar(50) Unchecked
Remin_frequ nvarchar(50) Unchecked
Remin_duration nvarchar(50) Unchecked
Remin_Mileage nvarchar(50) Checked
Next_due_datetime datetime Unchecked
Next_due_mileage nvarchar(50) Unchecked
ServiceType
구조는
Service_TypeID int Unchecked
Service_Type nvarchar(50) Unchecked
샘플 데이터
ServiceID Service_TypeID Last_performed Frequency Freq_Duration Freq_Mileage Remin_frequ Remin_duration Remin_Mileage Next_due_datetime Next_due_mileage
3 2 2012-12-01 6 month(s) 1000 1 day(s) 10 2013-03-10 1000
이며,이 같은 데이터를 원하는 :
을 이를 위해
ServiceID Service_TypeID Last_performed Service Frequency Next Service Create Reminder
3 2 2012-12-01 6 month(s) 1000 2013-03-10 1000 1 day(s) 10
나는이 쿼리 시도 :
select
Services.ServiceID,
ServiceType.Service_Type,
Last_performed
Services.Frequency+''+Freq_Duration+''+Freq_Mileage as [Service Frequency],
Services.Next_due_datetime+''+Next_due_mileage as [Next Service],
Services.Remin_frequ+''+Remin_duration+''+Remin_Mileage as [Create Reminder]
from
Services
inner join
ServiceType on ServiceType.Service_TypeID = Services.Service_TypeID
을하지만 난이 오류 :
The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value.
nvarch를 직접 연결할 수 없습니다. ar 및 날짜 형식을 변환해야합니다. 날짜 변환을위한 함수를 nvarchar 형식과 연결하여 사용할 수 있도록 변환하십시오. –
하지만 데이터 형식이 datetime 일 때 날짜로 변환하는 이유는 무엇입니까? –
Services.Next_due_datetime + ''+ Next_due_mileage here 첫 번째 열은 datetime이고 두 번째는 datetime이므로 첫 번째 열의 varchar로 데이터 유형을 변경하고 나머지는 동일하게 변경해야합니다. –