如何确定哪个列的数据类型不匹配

WenMing 40 信誉分
2024-05-16T02:25:28.4233333+00:00

我有一个union查询,包含了100多列,如下:

select * from table1
union
select * from table2

错误信息是:Error converting data type varchar to numeric.

怎么确定具体是哪些咧的数据类型不匹配呢?

SQL Server
SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
181 个问题
Transact-SQL
Transact-SQL
ANSI SQL 语言的 Microsoft 扩展,包括过程编程、局部变量和各种支持函数。
23 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. LiHongMSFT-4306 29,591 信誉分
    2024-05-16T03:12:32.5266667+00:00

    试试这个查询:

    SELECT IST1.COLUMN_NAME as Table1_column
          ,IST1.DATA_TYPE as Table1_datatype
    	  ,IST2.COLUMN_NAME as Table2_column
    	  ,IST2.DATA_TYPE as Table2_datatype
    FROM information_schema.columns IST1 INNER JOIN information_schema.columns IST2 
      ON IST1.ORDINAL_POSITION=IST2.ORDINAL_POSITION
    WHERE IST1.table_name='table1' AND IST1.TABLE_SCHEMA='dbo'
      AND IST2.table_name='table2' AND IST2.TABLE_SCHEMA='dbo'
      AND IST1.DATA_TYPE <> IST2.DATA_TYPE
    

    如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。