Ошибка преобразования типа данных varchar в datetime.
exec [mob].[MobileGetCustomerLocationMap] @RequestUserID=14,@RequestType=0,@LastSyncDate='2016-07-05 09:10:12.4530000'
Как я могу справиться с этим типом свидания? Я не получаю лишний ноль в конце свидания каждый раз .. но хочу разобраться с этим
Что я уже пробовал:
ALTER PROCEDURE [mob].[MobileGetCustomerLocationMap] @RequestUserID INT, @RequestType BIT, @LastSyncDate DATETIME As BEGIN IF (@RequestType = 1) BEGIN SET @LastSyncDate = NULL; END DECLARE @Customer Table ( CustomerToCustomerLocationID INT , CustomerID int, CustomerLocationID int, IsDefault BIT, IsInActive BIT, UpdatedOn datetime ) IF (@LastSyncDate IS NOT NULL) BEGIN INSERT INTO @Customer(CustomerToCustomerLocationID,IsInActive,UpdatedOn) SELECT DISTINCT ccl.CustomerToCustomerLocationID,1,ccl.UpdatedOn FROM UserToCustomerHistory uch INNER JOIN CustomerToCustomerLocation ccl ON uch.CustomerID = uch.CustomerID LEFT OUTER JOIN UserToCustomer uc ON uch.UserID = uc.UserID AND uch.CustomerID = uc.CustomerID AND uc.IsInActive = 0 WHERE uch.UserID = @RequestUserID AND uch.EndDate > @LastSyncDate AND uc.CustomerID IS NULL END
Suvendu Shekhar Giri
Пожалуйста, поделитесь строкой, где вы объявили @LastSyncDate. Я подозреваю, что вы объявили его как varchar/nvarchar.
Torakami
это только дата и время, пожалуйста, проверьте, что я обновил свой код
Suvendu Shekhar Giri
Хорошо. Также хотелось бы попросить проверить, является ли столбец UpdatedOn в таблице UserToCustomer полем datetime.
Torakami
да
Maciej Los
Что такое точное сообщение об ошибке?
Делает [mob].[MobileGetCustomerLocationMap]
процедура вызывается из программного обеспечения? Почему вы получаете дополнительные нули в строке и даты?
Вы пробовали что-то подобное: SELECT CONVERT(DATETIME, LEFT(@LastSyncDate, 23)) AS MyDate
?