INTERVAL YEAR TO MONTH
语法:
INTERVAL YEAR[(n)] TO MONTH
功能:存储一个若干年若干月的时间间隔。
取值范围:[-9999-11, +9999-11]
n的取值范围是[0,4],表示年的精度,默认值为2。
INTERVAL YEAR TO MONTH的最小取值为-9999-11,表示时间差为负9999年11月; 同理,最大取值+9999-11表示时间差9999年11月。
占用空间:4字节。
示例:
ymitvl_col_name INTERVAL YEAR [(year_precision)] TO MONTH
year_precision指示了YEAR域的精度,即表示YEAR的最大有效数字个数。
若设置year_precision为2,则表示YEAR域的最大值为99,若用户指定的值超出这个范围将会报错。
year_precision最小可以设置为0,最大可以设置为4,默认值为2。若用户输入超出指定精度则报错。
INTERVAL DAY TO SECOND
语法:
INTERVAL DAY[(n1)] TO SECOND [(n2)]
功能:存储一个若干天(包括天、时、分、秒、微秒)的时间间隔。
取值范围:[-9999999 23:59:59.999999,+9999999 23:59:59.999999]
n1取值范围是[0,7],表示天的精度,默认值为2。
n2取值范围是[0,6],表示秒后面的精度,不指定时默认为6。
INTERVAL DAY TO SECOND的最小取值为-9999999 23:59:59.999999,表示时间差负999999天23小时59分钟59.999999秒。
占用空间:8字节。
示例:
dsitvl_col_name INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)]
day_precision表示DAY域的精度,效果同year_precision。
其最小值可以设置为0,最大可以设置为7,默认值为2。
fractional_seconds_precision表示指定秒SECOND域小数点后面的精度,其最小值可以设置为0,最大可以设置为6,默认值为6。
SECOND域的小数部分输入允许超出指定精度,但在输入后会按照指定精度用四舍五入规则进行截取,使得结果满足指定精度要求。
例如,指定fractional_seconds_precision为6,对于输入'1 12:12:12.666666666666'将会被截取为'1 12:12:12.666667'。