Как я могу исправить ошибку: Преобразование не удалось при преобразовании значения varchar '00: 20 'в тип данных int - PullRequest
0 голосов
/ 27 сентября 2018
SELECT 
    First_Name + ' ' + Last_Name AS 'Customer_Name',
    Contact_Number, date_time, summary, OtherDetails, Duration
FROM 
    Support_Call AS sc 
RIGHT OUTER JOIN 
    customer AS c ON sc.CustomerID = c.CustomerID
WHERE 
    Call_Status = 'Unresolved' AND Duration >= '00:20'
ORDER BY 
    Duration DESC;

Как исправить эту ошибку

Ошибка преобразования при преобразовании значения varchar '00: 20 'в тип данных int.

1 Ответ

0 голосов
/ 10 октября 2018

Как упомянул Тим в комментариях, если Duration является столбцом int, как предполагает ошибка (и хранит количество минут), то вам необходимо:

SELECT 
    First_Name + ' ' + Last_Name AS 'Customer_Name',
    Contact_Number, 
    date_time, 
    summary, 
    OtherDetails, 
    Duration
FROM Support_Call AS sc 
RIGHT OUTER JOIN customer AS c ON sc.CustomerID = c.CustomerID
WHERE Call_Status = 'Unresolved' 
AND Duration >= 20
ORDER BY Duration DESC;

Значение '00:20' в исходном запросе не является значением int и не может быть неявно преобразовано в единицу (тогда как, например, значение varchar, равное '128', может быть).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...