В SQL есть оператор INSERT, над которым я работаю. См. запрос ниже. Когда я запускаю оператор, он дает эту ошибку:
Сообщение 8152, уровень 16, состояние 2
Строковые или двоичные данные будут усечены.
Выполнение инструкции завершено.
Как исправить эту ошибку?
В старой таблице (откуда поступают данные) столбец [Environment] называется [Err_Dev_Prod] и имеет тип данных NVARCHAR (50). В новой таблице это тип данных BIT.
IF OBJECT_ID(N'LCN_Board', N'U') IS NOT NULL DROP TABLE LCN_Board
CREATE TABLE [LCN_Board](
[Metric_Id] VARCHAR(128) NULL,
[Environment] BIT NULL, --[Err_Dev_Prod]
[Date/Time] DATETIME NULL,
[IMPORT_DATE] DATE DEFAULT GETDATE() NULL,
[MODIFIED_DATE] DATE DEFAULT GETDATE() NULL,
[REPORTING_PERIOD]DATE NULL,
[Process_ID] Uniqueidentifier DEFAULT (NEWID()) NOT NULL,
[Key] VARCHAR(128) NULL
) ON [PRIMARY]
GO
INSERT INTO LCN_Board
( [Metric_Id],
[Environment],
[Date/Time],
[IMPORT_DATE],
[MODIFIED_DATE],
[REPORTING_PERIOD],
[Process_ID]
)
SELECT
[Metric Id],
CASE LOWER([Err_Dev_Prod]) WHEN 'yes' THEN 1 ELSE 0 END,
[Date/Time],
[IMPORT_DATE],
[MODIFIED_DATE],
[REPORTING_PERIOD],
[Process_ID]
FROM dbo. LCN_Board_old
ORDER BY [Date/Time];
GO
Metric Id
илиProcess_ID
большеVARCHAR(128)
. - person Andy Korneyev   schedule 28.08.2015LCN_Board_old
иLCN_Board
- person Murtaza   schedule 28.08.2015