使用SQL查询输出进行操作

时间:2018-12-03 08:26:43

标签: sql oracle oracle12c

我想编写一个查询,该查询仅以3个字符返回月份,但第一个字符应为大写字母,其余为非大写字母。例如DEC应该是(Dec)或JAN(Jan)。

select substr(sysdate,4,3) from dual;

上面的SQL代码返回月份,但以大写的“ DEC”表示,因此我希望输出为“ Dec”。

有人知道如何实现吗?

谢谢

3 个答案:

答案 0 :(得分:3)

如先前的回答所述,无需进行操作。

您可以简单地这样写:

SELECT TO_CHAR (SYSDATE, 'Mon', 'nls_date_language=American') FROM DUAL;

如果将“ Month”作为第二个参数,则将获得“ December”;如果将“ month”传递给您,则将获得“ December”;如果您将“ Mon”传递给您,则将获得“ Dec” ',如您所问。

希望我能帮上忙!

答案 1 :(得分:2)

您可以尝试将substrto_char功能一起使用。

select substr(to_char(sysdate, 'Month', 'nls_date_language=American') ,0,3)  from dual

c# online

注意

使用nls_date_language=Americanto_char函数中设置区域性。

答案 2 :(得分:0)

这确实可以正常使用,但要使用一个额外的功能,即带有大写字母的首字母:

select initcap(substr(sysdate,4,3)) from dual;