nvarchar 数据类型到 datetime SQL 查询
nvarchar data type to a datetime SQL query
我有 2 tables ServiceType
和 Services
.
Service
table 结构
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.
尝试使用 concat
concat(Services.Frequency,' ',Freq_Duration+' ',Freq_Mileage) as [Service Frequency]
否则需要使用转换或转换为整数的 varchar
我有 2 tables ServiceType
和 Services
.
Service
table 结构
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.
尝试使用 concat
concat(Services.Frequency,' ',Freq_Duration+' ',Freq_Mileage) as [Service Frequency]
否则需要使用转换或转换为整数的 varchar