我需要比较来自两个不同数据库的两个不同表的列。有没有办法做到这一点?我基本上需要检查这两个表中的列是否相同或不同。我想并排列出这两个表的列。
答案 0 :(得分:0)
我认为您可以通过为 SQL Server 使用“INFORMATION_SCHEMA.COLUMNS”来简单地做到这一点。
在(SQL SERVER)中查找相同的列
string input = "aa c6 61 ab 25 d8 d2 b4 c4 9c e2 d4 5a 00 00 00 00 ff ff";
byte[] bytes = input.Split(new char[] { ' ' }).Select(x => byte.Parse(x, System.Globalization.NumberStyles.HexNumber)).ToArray();
MemoryStream ms = new MemoryStream(bytes);
ms.Position = 0;
System.IO.Compression.DeflateStream gzip = new System.IO.Compression.DeflateStream(ms, System.IO.Compression.CompressionMode.Decompress);
List<byte> uncompressed = new List<byte>();
int bytesRead = 0;
do
{
byte[] chunk = new byte[1000];
bytesRead = gzip.Read(chunk, 0, 1000);
uncompressed.AddRange(chunk.ToList().GetRange(0,bytesRead));
} while (bytesRead == 1000);
查找不常见列
SELECT T1.* FROM
(SELECT COLUMN_NAME
FROM [DatabaseName1].INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Table1'
) T1
INNER JOIN
(SELECT COLUMN_NAME
FROM [DatabaseName2].INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Table2'
) T2 ON T1.COLUMN_NAME=T2.COLUMN_NAME
注意:这仅适用于 SQL Server。