SQL Server:使用Union选择错误的编码

时间:2013-11-19 07:55:06

标签: sql-server sql-server-2008

我有多个表,所有相同的结构,包含相同的列。列都是varchar(250)

现在我有一个查询,它通过UNION ALL连接所有表,并选择一个名为InsertX的列,其中包含的值如“134,856710602534”

我的问题是:在UNION所有表格之后,选择InsertX134,856710602534变为134¸856710602534。所以逗号搞砸了。我在CAST (InsertX AS varchar(250))查询中尝试了Collate Latin1_General_CI_ASSELECT等不同命令,但没有任何帮助。

2 个答案:

答案 0 :(得分:0)

您确定原始SQL正在转换与使用它的内容吗?我创建了以下文本,它仍然有逗号:

DECLARE @tbl1 TABLE (
    COL1 VARCHAR(250)
);

DECLARE @tbl2 TABLE (
    COL1 VARCHAR(250)
);

INSERT INTO @tbl1
        ( COL1 )
VALUES  ( '134,856710602534'  -- COL1 - varchar(250)
          )

INSERT INTO @tbl2
        ( COL1 )
VALUES  ( '134,856710602874'  -- COL1 - varchar(250)
          );

SELECT COL1
FROM @tbl1
UNION ALL
SELECT COL1
FROM @tbl2

答案 1 :(得分:0)

问题是第三方应用程序...... 无论如何,谢谢你的帮助!