gpt4 book ai didi

java - ORACLE获取3个字母的日期

转载 作者:搜寻专家 更新时间:2023-10-30 23:16:19 24 4
gpt4 key购买 nike

我有一个程序可以将一些数据插入到表中。

在我的表中,我显示了如下输出(丹麦语)中的日期和周数

使用 42

其中 TO 是当天的名称

Uge 是星期

42 是周数。

我想做的是让 TO 成为 TOR(丹麦语 Torsdag 的缩写,星期四)

我的代码现在看起来像这样:

"DY' || ' ' || '\"Uge\" '|| 'IW";

在 Orcle 中是否有任何方法可以让我将日期作为 3 个字母的字符串获取,或者我是否必须创建字符串的子字符串并更改它?

从我的程序更新添加的 SQL 代码

String sql =
"SELECT " +
" TO_CHAR(MIN(TIDSPUNKT),'"+getDateDescriptionFormat(when)+"') AS PERIOD, " +
" NVL(QUEUE,' ') AS QUEUE, " +
" NVL(SUM(ANTAL_KALD),0) AS CALLS, " +
" NVL(SUM(ANTAL_BESVARET),0) AS ANSWERED_CALLS, " +
" NVL(SUM(BESVARET_25_SEK),0) AS ANSWERED_CALLS_25_SEC, " +
" NVL(SUM(INTERN_KALD),0) AS INTERNAL_CALLS " +
"FROM " +
" KS_DRIFT.PERO_NKM_KØ_OVERSIGT " +
"WHERE " +
" TIDSPUNKT >= '"+getStartDate(start,when)+"' AND " +
" TIDSPUNKT <= '"+ slut+"' AND " +
" TO_CHAR(TIDSPUNKT,'DY') NOT IN ('AB') " +
"GROUP BY " +
" TRUNC(TIDSPUNKT,'"+getDateFormatString(when)+"'), " +
" QUEUE " +
"ORDER BY " +
" PERIOD

getDateDiscribtionFormat:

private String getDateDescriptionFormat(char when){
if (when == 'D')return "DY' || ' ' || '\"Uge\" '|| 'IW";
if (when == 'W')return "\"Uge\" '||'IW";
if (when == 'M')return "Mon.' || ' ' || 'YYYY";
if (when == 'Y')return "YYYY";
return null;
}

请注意,这段代码不是我以前的同事写的,它很乱!

最佳答案

看起来没有其他格式模型可以满足您的需求。 “DY”给出了“日期的缩写”——在我的英语系统中,这意味着三个字母的缩写,但我想在你的语言中,标准缩写是两个字母。

与其做一个子字符串,我建议转换为星期几的数字,然后简单地进行映射,例如(使用英文缩写):

CASE TO_CHAR(sysdate,'D')
WHEN 1 THEN 'SUN'
WHEN 2 THEN 'MON'
WHEN 3 THEN 'TUE'
<et cetera>
END

关于java - ORACLE获取3个字母的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13048417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com