I have  a DDL trigger on a database that will be enabled whenever the any table in the database is altered, and a system table will be logging the DDL commands that have been fired on any table in the database.

So the commands will look like:

1) ALTER TABLE [dbo.table] ADD [column] VARCHAR(20) NULL ;

2) ALTER TABLE <dbo.table> ADD [column] VARCHAR(20) NULL 
CONSTRAINT [cons] UNIQUE

3) ALTER TABLE [dbo.table] WITH NOCHECK 
ADD CONSTRAINT [cons] CHECK ([column] > 1) ;

4) ALTER TABLE [dbo.table] WITH NOCHECK 
ADD [column1] VARCHAR(20) NULL,
CONSTRAINT [cons] CHECK ([column] > 1);


Is there any way to discern amidst the above 4 DDL statements. I'm only interested in the DDL that adds a new column to a table, and wish to retrieve only the name and datatype of this newly column.

So far I've been fidgeting with functions like SUBSTRING(), LEN() and CHARINDEX() without much luck.