· 7 years ago · Oct 24, 2018, 09:06 PM
1SET ANSI_WARNINGS OFF
2
3SET ANSI_WARNINGS OFF
4GO
5
6CREATE TABLE Test (Value CHAR(10))
7INSERT INTO Test SELECT ('1234567890')
8
9IF NOT EXISTS (SELECT * FROM Test WHERE LEN(Value) > 9)
10 ALTER TABLE Test ALTER COLUMN Value CHAR(9)
11ELSE
12 SELECT LEN(Value), * FROM Test WHERE LEN(Value) > 9
13
14DROP TABLE Test
15
16UPDATE MY_TABLE SET MY_COLUMN = LEFT(MY_COLUMN, 9)
17ALTER TABLE MY_TABLE SET (SYSTEM_VERSIONING = OFF)
18' Might need to UPDATE MY_TABLEHistory SET MY_COLUMN = LEFT(MY_COLUMN, 9)
19' I didn't
20ALTER TABLE MY_TABLEHistory ALTER COLUMN [MY_COLUMN] [varchar] (9) NULL
21ALTER TABLE MY_TABLE SET (SYSTEM_VERSIONING = ON(HISTORY_TABLE = MY_TABLEHistory))
22ALTER TABLE MY_TABLE ALTER COLUMN [MY_COLUMN] [varchar] (9) NULL