繁体   English   中英

SQL Sever与Spring JDBC模板

[英]Sql Sever with spring jdbc template

我需要使用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

我该如何解决这个问题?

您可以尝试以下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";

最后,我找到了解决该问题的方法。 我曾经这样[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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM