Skip to content

GET_TYPE_SPACE

功能描述

获取指定类型在存储上占用的空间大小,单位是字节。

语法格式

sql
GET_TYPE_SPACE(expr)

参数说明

expr:数据类型的名称字符串,可以带精度。

说明

参数为虚谷数据库支持的数据类型。

函数返回类型

INTEGER类型。

  • 变长类型(VARCHAR/BLOB/CLOB/BINARY):返回0
  • 非内置数据类型:返回异常,数据类型%s不存在
  • NULL或空字符串:返回NULL
  • NUMERIC类型:返回2~17byte(不同精度对应不同的存储长度)。
  • 字符类型:
    • 定长类型(CHAR/NCHAR[(SIZE)]):返回SIZE * mbmaxlen。GBK库返回SIZE * 2,UTF8库返回SIZE * 3
    • 变长类型(VARCHAR/VARCHAR2[(SIZE)]):返回0

    说明:

    SIZE单位为字符;字符长度由不同字符集的库决定,字符集中最大字符长度大小为mbmaxlen。

示例

sql
SQL> SELECT GET_TYPE_SPACE('NUMERIC(38,12)') FROM DUAL;

EXPR1 |
------------------------------------------------------------------------------
17 |

SQL> SELECT GET_TYPE_SPACE('INTERVAL MINUTE(7) TO SECOND(6)') FROM DUAL;

EXPR1 |
------------------------------------------------------------------------------
8 |