To know if you have similar columns can potentially be more complicated than other solutions. We might think that the two columns are the same because they have the same name, but in fact, when you are working in a large database with more than one person creating, deleting and / or modifying a data structure inconsistency, it may to happen.
The more parameters we check for similarity, the more confident we can be that our columns are similar without manual control of raw data.
1. First, I suggest you run a query to understand the parameters of this column.
SELECT * FROM DATABASENAME.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'TABLE1'
This will return multiple metadata columns in the columns of the table. Some metadata that I found interesting for uniqueness included ...

2. In my case, I defined the column attributes COLUMN_NAME, IS_NULLABLE, AND DATA_TYPE to determine if my columns really match.
SELECT DISTINCT A.COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS A LEFT join INFORMATION_SCHEMA.COLUMNS B ON A.COLUMN_NAME = B.COLUMN_NAME AND A.DATA_TYPE = B.DATA_TYPE AND A.IS_NULLABLE = B.IS_NULLABLE WHERE A.TABLE_NAME = N'TABLE1' AND B.TABLE_NAME = N'TABLE2'
3. The concept of verification ... Maybe if we JOIN , using only COLUMN_NAME , 10 corresponding columns will be found. Perhaps when we JOIN , using COLUMN_NAME AND DATA_TYPE , there are 7 corresponding columns. Perhaps when we use all three conditions, as in the example above, there are 4 corresponding columns. Does this mean that you can only join 4 corresponding columns ... absolutely not. What this means is that you will need to consider how to handle errors and casting depending on how you intend to connect to the tables. The point is the careful execution of the JOIN on INFORMATION_SCHEMA.COLUMNS.COLUMN_NAME , since your results may be far from the intended.
source share