oracle中d​​ate数据类型占用的字节数

时间:2014-08-15 06:58:37

标签: plsql oracle11g oracle10g

oracle中日期数据类型占用了多少字节?

v_date:=to_date('15-08-2014','dd-mm-yyyy');
v_day:=to_char(v_day,'day');

现在空格在v_day结束时填充,因此以下条件不起作用

if v_day='saturday' then
dbms_ouput.put_line('half_day');

要使上述条件起作用,我需要使用rtim

v_day:=rtrim(to_char(v_day,'day'));

现在问题是要知道oracle中d​​ate数据类型占用了多少字节?

1 个答案:

答案 0 :(得分:1)

这与数据类型占用的字节数无关。默认情况下,会话语言为the day format model is padded to the length of the longest day name(基于NLS设置)。

  

字符元素MONTH,MON,DAY和DY分别用尾随空白填充到最长的完整月份名称,最长的缩写月份名称,最长的完整日期名称或最长的缩写日期名称的宽度,在由NLS_DATE_LANGUAGE和NLS_CALENDAR参数的值确定的有效名称中。

您可以通过添加FM格式修饰符来更改它:

v_date:=to_date('15-08-2014','dd-mm-yyyy');
v_day:=to_char(v_day,'FMday');
if v_day='saturday' then
  dbms_ouput.put_line('half_day');
...

日期名称本身依赖于NLS,长而缩写,因此如果会话可能使用其他语言,则应确保to_char使用英语作为日期语言。