-1
我有以下代码...SQL日期时间转换
SELECT
CAST (pos.DateShipped AS DATE) AS DateShipped,
COALESCE(s.Code, c1.CountryName) AS Region_Name,
c2.CurrencyCode,
NULL,
NULL,
NULL,
NULL,
SUM(pos.PriceIncTax/(1 + ct.TaxRate) * ct.TaxRate * pos.Quantity * pos.ExchangeRate) AS VAT_Sales_Curr
FROM
dbo.POSItem (NOLOCK) pos
JOIN dbo.ReceiptDrop (NOLOCK) RD ON rd.ReceiptId = pos.ReceiptId
LEFT JOIN dbo.CountryTax (NOLOCK) CT ON rd.CountryId = ct.CountryId AND pos.DateShipped >= ct.DateFrom AND (pos.DateShipped < ct.DateTo OR ct.DateTo IS NULL)
LEFT OUTER JOIN dbo.State (NOLOCK) S ON rd.CountryId = s.CountryId AND rd.County = s.Code
LEFT OUTER JOIN dbo.Country (NOLOCK) C1 ON rd.CountryId = c1.CountryId
LEFT OUTER JOIN dbo.Country (NOLOCK) C2 ON pos.CurrencyId = c2.CountryId
WHERE
pos.DateShipped >= '28-07-2014'
AND pos.DateShipped < '02-09-2014'
AND pos.DateShipped IS NOT NULL
并生成错误....
varchar数据类型到datetime数据类型的转换导致超出范围的价值。
你可以建议在最简单的方法来纠正这个在SQL 2008
非常感谢,
(NOLOCK)应为WITH WITH(NOLOCK) – 2014-09-01 16:38:18