0

我只想从我的日期时间列中选择日期部分。我说:

SELECT DISTINCT CONVERT(VARCHAR(10), Intensity.Date, 103) AS [DD/MM/YYYY]
FROM Intensity

它的工作正常。但是我在 JDBC 中使用了这个查询:

sql="SELECT DISTINCT CONVERT(VARCHAR(10), Intensity.Date, 103) AS [DD/MM/YYYY] FROM Intensity";
ResultSet r=sta.executeQuery(sql);
String json="";
json=json+"{'data':[";
while(r.next()){
    json=json+"'"+r.getDate("Date")+"',";
}

我收到错误消息:列名日期无效。
当我已经使用AS运算符或以更优化的形式重写此查询时,是否可以重命名列?

4

3 回答 3

2

不是java程序员,但我怀疑你想要这个:

sql="SELECT DISTINCT CONVERT(VARCHAR(10), Intensity.Date, 103) AS MyDate FROM Intensity";
ResultSet r=sta.executeQuery(sql);
String json="";
json=json+"{'data':[";
while(r.next()){
    json=json+"'"+r.getString("MyDate")+"',";
}
于 2013-05-29T05:22:18.263 回答
0

只是试一试。这可能是因为斜线(/)。尝试将sql转换为:

sql="SELECT DISTINCT CONVERT(VARCHAR(10), Intensity.Date, 103) AS [DD\/MM\/YYYY] FROM Intensity";

或者

sql="SELECT DISTINCT CONVERT(VARCHAR(10), Intensity.Date, 103) AS [DD//MM//YYYY] FROM Intensity";
于 2013-05-29T05:32:15.817 回答
0

Robert McKee 和 Luiggi Mendoze 通过评论获得了正确答案(已投票):

sql="SELECT DISTINCT CONVERT(VARCHAR(10), Intensity.Date, 103) AS MyDate FROM Intensity";
ResultSet r=sta.executeQuery(sql);
String json="";
json=json+"{'data':[";
while(r.next()){
    json=json+"'"+r.getString("MyDate")+"',";
}
于 2013-05-29T06:35:58.540 回答