这是2013年9月完成的一个即时项目,没有问题。甲骨文是后端的。我没有太多进入oracle或任何db。问题是,我们必须用SQL实现一个逻辑。那就是找到日期中的月份长度。它工作,我不确定,可能是我错了或误导,长度看起来很奇怪。经过一些研究与试验n错误,发现它的长度总是一样的?我做错了吗?这是我非常简单的SQL函数调用。
LENGTH(TO_CHAR(proj_created_date,'MONTH'))
不断回归9
经过一番研究后我尝试了LENGTHB()
功能,它还是一样吗?我相信它附加了一些空格,并且当然TRIM()
修复了它。但我为什么要修剪?我不应该将日期转换为字符串吗?请帮帮我!
还尝试了Oracle 10g和11g jdbc URL ......
感谢。
答案 0 :(得分:2)
请尝试以下方法。
LENGTH(TO_CHAR(proj_created_date,'FMMONTH'))
进一步解释Here!
它不仅仅是月份,也有周名称甚至是日期编号,零日将附加到日期编号。说“01
”而不是“1
”。根据您的要求使用格式模型。它适用于Oracle 12c。
答案 1 :(得分:0)
MONTH
中的 As documentation says to_char()
返回填写为9个字符的月份名称。
使用fm
前缀suggested。见例:
SELECT
TO_CHAR(to_date('2014-05-01', 'yyyy-mm-dd'), 'month yyyy') MONTH,
TO_CHAR(to_date('2014-05-01', 'yyyy-mm-dd'), 'fmmonth yyyy') fmmonth
FROM
dual;