Oracle兼容-函数-VSIZE()函数
1. 语法
1. VSIZE( expr )
2. 定义和用法
VSIZE() 函数的作用是返回 expr 的内部存储大小值。
参数 expr 是要进行分析的表达式,可以是数字或字符串等,也可以是各个类型的值,但不可为 BLOB 类型及其派生类型。
3. Oracle兼容说明
- 由于Oracle与GreatSQL的内部存储机制不同,
VSIZE()函数用于评估实际消耗的存储空间大小,因此返回值可能与Oracle不一致。 - 临时变量
@var会使用其他中间表示式,直到被调用前才转换,目前不支持此类变量。
4. 示例
1. -- 1. 参数expr为NULL
2. greatsql> SELECT VSIZE(NULL);
3. +-------------+
4. | VSIZE(NULL) |
5. +-------------+
6. | NULL |
7. +-------------+
9. -- 2. 参数expr为空字串时,被视为NULL
10. greatsql> SELECT VSIZE('');
11. +-----------+
12. | VSIZE('') |
13. +-----------+
14. | NULL |
15. +-----------+
17. -- 3. expr 可以是常量
18. greatsql> SELECT VSIZE(true), VSIZE(false);
19. +-------------+--------------+
20. | VSIZE(true) | VSIZE(false) |
21. +-------------+--------------+
22. | 1 | 1 |
23. +-------------+--------------+
25. greatsql> SELECT VSIZE('3306'), VSIZE(3306);
26. +---------------+-------------+
27. | VSIZE('3306') | VSIZE(3306) |
28. +---------------+-------------+
29. | 6 | 8 |
30. +---------------+-------------+
32. greatsql> SELECT VSIZE(date(NOW())), DATE(NOW());
33. +--------------------+-------------+
34. | VSIZE(date(NOW())) | DATE(NOW()) |
35. +--------------------+-------------+
36. | 3 | 2023-11-07 |
37. +--------------------+-------------+
39. greatsql> SELECT VSIZE(STR_TO_DATE(SYSDATE(), '%Y-%m-%d %H:%i:%s')), STR_TO_DATE(SYSDATE(), '%Y-%m-%d %H:%i:%s');
40. +----------------------------------------------------+---------------------------------------------+
41. | VSIZE(STR_TO_DATE(SYSDATE(), '%Y-%m-%d %H:%i:%s')) | STR_TO_DATE(SYSDATE(), '%Y-%m-%d %H:%i:%s') |
42. +----------------------------------------------------+---------------------------------------------+
43. | 8 | 2023-11-07 11:18:56 |
44. +----------------------------------------------------+---------------------------------------------+
问题反馈
联系我们
扫码关注微信公众号

