【发布时间】:2019-06-12 08:54:04
【问题描述】:
我有一个名为 CREATED_AT 的表
我写了一个查询并收到这样的回复:
Score D
27 01
17 02
80 03
55 06
这是我的查询:
SELECT SUM(AMOUNT) as scores,to_char(CREATED_AT, 'MONTH') as d
FROM C_SCORES
WHERE USER_ID =201 and to_char(CREATED_AT, 'YYYY') ='1398'
GROUP BY to_char(CREATED_AT, 'MONTH');
实体代码是:
public class ScoreCategorizeWithMonth {
private int Scores;
private int month;
private String monthfa;
public String getMonthfa() {
switch (month) {
case 1:
monthfa = "فروردین";
break;
case 2:
monthfa = "اردیبهشت";
break;
case 3:
monthfa = "خرداد";
break;
case 4:
monthfa = "تیر";
break;
case 5:
monthfa = "مرداد";
break;
case 6:
monthfa = "شهریور";
break;
case 7:
monthfa = "مهر";
break;
case 8:
monthfa = "آبان";
break;
case 9:
monthfa = "آذر";
break;
case 10:
monthfa = "دی";
break;
case 11:
monthfa = "بهمن";
break;
case 12:
monthfa = "اسفند";
default:
monthfa = "";
}
return monthfa;
}
}
此代码在控制器中:
@GetMapping(value = "score-Categorize-months")
public List<ScoreCategorizeWithMonth> scoreCategorizedWithMonths()
{
return iScoresSrv.scoreCategorizeWithMonths(userInfo.getUserId());
}
我的问题是:
2- 我的回答是数据库中存在的月份。如何显示月份,即使它不在数据库中
{
"scores": 27,
"month": 1,
"monthfa": "فروردین"
},
{
"scores": 17,
"month": 2,
"monthfa": "اردیبهشت"
},
{
"scores": 84,
"month": 3,
"monthfa": "خرداد"
},
{
"scores": 55,
"month": 6,
"monthfa": "شهریور"
}
我还想用 score=0 显示 4..5 的月份
谢谢
【问题讨论】:
-
请一次提出一个问题,并确保问题清晰易懂。我删除了所有与 java 相关的标签,因为我在这里看不到 java 的相关性。
-
我想也许我应该在我的视图代码中添加一些java代码..你为什么这样做?我正在使用 java :) @JoakimDanielson
-
然后解释您的问题与 java 的关系并包含相关代码。这个问题既不清楚也很宽泛。
-
好的。我添加一些解释。你能帮我吗?请@JoakimDanielson
-
1.使用本地化资源系统。您使用数据库中的语言作为键,您可以翻译成任何语言(这里解释的太长了)。 2. 不清楚,,, 3.如果数据库中不存在月份,您需要为自己提供一个预期值列表,并与
Score(如果存在)进行映射。 请注意,这个问题无法回答,因为有很多问题要求完全不同的东西。
标签: java oracle format locale navicat