SQL - INSERT statement with BIT conversion

120 views Asked by At

There is an INSERT statement in SQL that I am working on - See query below. When I run the statement, it gives this error:

Msg 8152, Level 16, State 2
String or binary data would be truncated.
The statement has been terminated.

How do I rectify this error?

In the Old table (Where the data is coming from), the [Environment] column is called [Err_Dev_Prod], and it is an NVARCHAR (50) datatype. In the new table it is BIT datatype

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
1

There are 1 answers

0
Irfan Shaikh On

This is not the case of BIT conversion,try to increase the varcahar limit or set to max if possible