Tôi nhận được lỗi nàySQL Server: Arithmetic lỗi tràn bộ chuyển đổi biểu thức để kiểu dữ liệu int
msg 8115, cấp 16, bang 2, dòng 18
tràn Arithmetic lỗi khi chuyển đổi biểu thức để kiểu dữ liệu int.
với truy vấn SQL này
DECLARE @year VARCHAR(4);
DECLARE @month VARCHAR(2);
-- START OF CONFIGURATION SECTION
-- THIS IS THE ONLY SECTION THAT SHOULD BE MODIFIED
-- SET THE YEAR AND MONTH PARAMETERS
SET @year = '2013';
SET @month = '3'; -- 1 = January.... 12 = Decemeber.
-- END OF CONFIGURATION SECTION
DECLARE @startDate DATE
DECLARE @endDate DATE
SET @startDate = @year + '-' + @month + '-01 00:00:00';
SET @endDate = DATEADD(MONTH, 1, @startDate);
SELECT
DATEPART(YEAR, dateTimeStamp) AS [Year]
, DATEPART(MONTH, dateTimeStamp) AS [Month]
, COUNT(*) AS NumStreams
, [platform] AS [Platform]
, deliverableName AS [Deliverable Name]
, SUM(billableDuration) AS NumSecondsDelivered
FROM
DeliveryTransactions
WHERE
dateTimeStamp >= @startDate
AND dateTimeStamp < @endDate
GROUP BY
DATEPART(YEAR, dateTimeStamp)
, DATEPART(MONTH, dateTimeStamp)
, [platform]
, deliverableName
ORDER BY
[platform]
, DATEPART(YEAR, dateTimeStamp)
, DATEPART(MONTH, dateTimeStamp)
, deliverableName
Và chính xác bạn đang hỏi gì? Lỗi là hiển nhiên: bạn kết thúc bằng một số quá lớn đối với kiểu dữ liệu 'int'. –
vui lòng chỉ ra số nào quá lớn đối với loại dữ liệu? Cảm ơn – user2270544
Đối với ngày tháng dưới dạng chuỗi, bạn nên luôn sử dụng định dạng ** ISO-8601 ** - 'YYYYMMDD' - chỉ định dạng này được đảm bảo hoạt động cho ** bất kỳ ngôn ngữ và/hoặc cài đặt vùng nào ** –