0

我需要使用 spring jdbc 模板连接到 sql server 2008 和 2012 版本。

在数据库中,我们有带空格的列,我尝试使用带有空格的包装列[], "",但没有用。当我使用查询时发生以下错误

SELECT Mon, CC Flag FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY Msisdn)AS RowNum FROM ME_PREPAID) AS MyDerivedTable WHERE MyDerivedTable.RowNum BETWEEN 2 AND 100

com.microsoft.sqlserver.jdbc.SQLServerException:列名“CC”无效。

请注意,有一栏为CC Flag

我该如何解决这个问题?

4

2 回答 2

1

你可以试试这个 SQL 字符串:

String sql = "SELECT Mon, \"CC Flag\" FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY Msisdn)AS RowNum FROM ME_PREPAID) AS MyDerivedTable WHERE MyDerivedTable.RowNum BETWEEN 2 AND 100";
于 2013-06-15T08:06:57.550 回答
0

最后,我找到了这个问题的解决方案。我是这样用的[column name]。它工作正常。我已经试过这样了。但是在将列名与列表匹配时编程出现了错误。我使用了一个带有值的数组列表[Mon],[CC Flag]

mylist.add="[Mon]";   mylist.add="[CC Flag]";

然后我将此列表传递给查询。当我将列名与列表匹配时,出现了错误。以下是正确答案。

SELECT [Mon], [CC Flag] FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY Msisdn)AS RowNum FROM ME_PREPAID) AS MyDerivedTable WHERE MyDerivedTable.RowNum BETWEEN 2 AND 100
于 2013-06-21T10:39:28.960 回答