In many situations we need to alter an existing table to add a new column to it. Here will will see three approaches for doing so
A) Querying sys.Columns IF NOT EXISTS(SELECT * FROM sys.columns WHERE Name = 'ColumnName' AND Object_ID = Object_ID(N'[dbo].[TableName]'))
BEGIN
ALTER TABLE [dbo].[TableName] ADD [ColumnName] [varchar](100) NOT NULL
END
B) Using Col_Length IF COL_LENGTH(N'[dbo].[TableName]', 'ColumnName') IS NULL
BEGIN
ALTER TABLE [dbo].[TableName] ADD [ColumnName] [varchar](100) NOT NULL
END
Hope this helps
C) Querying INFORMATION_SCHEMA.columns IF NOT EXISTS
(
SELECT *
FROM INFORMATION_SCHEMA.columns
WHERE table_name = 'TableName'
AND column_name = 'ColumnName'
)
BEGIN
ALTER TABLE [dbo].[TableName] ADD [ColumnName] [varchar](100) NOT NULL
END