Oracle兼容-函数-DUMP()函数
1. 语法
1. DUMP( expr[, return_format] [, start_position] [, length] )
2. 定义和用法
基本参数4个,至少要传入参数expr。
expr,要进行分析的表达式,可以是数字或字符串等,也可以是各个类型的值。
注意:
- 不支持大对象类型(如:
BLOB、CLOB、JSON等)、枚举类型以及空间类型。 - 另外对如:
set @a=xxx;这种@a临时变量参数也暂不支持。 - 当参数expr为NULL,直接返回NULL。
-
return_fmt,设置返回参数的格式,有6种用法: -
2:以2进制返回结果值。
- 8:以8进制返回结果值。
- 10:以10进制返回结果值(默认)。
- 16:以16进制返回结果值。
- 大于等于17时:以单字符的形式返回结果值。
- 1000:以上前4种加上1000,表示在返回值中加上当前处理数据使用字符集(字符集由系统选项
character_set_system定义)。
说明: 当 return_fmt 参数不符合上述格式要求时,则默认使用 10进制 作为返回结果格式。
start_position,指定返回的字符起始位置,若参数超过expr实际长度则返回NULL。length,指定返回的字符长度,若参数超过expr实际长度则返回start_position之后剩余长度的数据。
3. 示例
1. -- 1.参数expr为NULL
2. greatsql> SELECT DUMP(NULL);
3. +------------+
4. | DUMP(NULL) |
5. +------------+
6. | NULL |
7. +------------+
9. -- 2.除参数expr外,其他参数默认(默认以10进制返回数据)
10. greatsql> SELECT DUMP('GreatSQL');
11. +-----------------------------------------------+
12. | DUMP('GreatSQL') |
13. +-----------------------------------------------+
14. | Type=15 Len=10:8,0,71,114,101,97,116,83,81,76 |
15. +-----------------------------------------------+
17. -- 3.从位置3开始的数据,以10进制形式返回
18. greatsql> SELECT DUMP('GreatSQL', 10, 3);
19. +-------------------------------------------+
20. | DUMP('GreatSQL', 10, 3) |
21. +-------------------------------------------+
22. | Type=15 Len=10:71,114,101,97,116,83,81,76 |
23. +-------------------------------------------+
25. -- 4.以2进制形式返回数据
26. greatsql> SELECT DUMP('GreatSQL', 2, 3);
27. +--------------------------------------------------------------------------------+
28. | DUMP('GreatSQL', 2, 3) |
29. +--------------------------------------------------------------------------------+
30. | Type=15 Len=10:1000111,1110010,1100101,1100001,1110100,1010011,1010001,1001100 |
31. +--------------------------------------------------------------------------------+
33. -- 5.以10进制形式返回数据
34. greatsql> SELECT DUMP('GreatSQL', 10);
35. +-----------------------------------------------+
36. | DUMP('GreatSQL', 10) |
37. +-----------------------------------------------+
38. | Type=15 Len=10:8,0,71,114,101,97,116,83,81,76 |
39. +-----------------------------------------------+
41. -- 6.以16进制形式返回数据
42. greatsql> SELECT DUMP('GreatSQL', 16);
43. +----------------------------------------------+
44. | DUMP('GreatSQL', 16) |
45. +----------------------------------------------+
46. | Type=15 Len=10:08,00,47,72,65,61,74,53,51,4c |
47. +----------------------------------------------+
49. -- 7.以单字符形式返回数据
50. greatsql> SELECT DUMP('GreatSQL', 17);
51. +-------------------------------+
52. | DUMP('GreatSQL', 17) |
53. +-------------------------------+
54. | Type=15 Len=8:G,r,e,a,t,S,Q,L |
55. +-------------------------------+
57. -- 8.以10进制形式返回数据,并显示字符集信息
58. greatsql> SELECT DUMP('GreatSQL', 1010);
59. +--------------------------------------------------------------------+
60. | DUMP('GreatSQL', 1010) |
61. +--------------------------------------------------------------------+
62. | Type=15 Len=10 CharacterSet=utf8mb3:8,0,71,114,101,97,116,83,81,76 |
63. +--------------------------------------------------------------------+
65. -- 9.以16进制形式返回数据,并显示字符集信息
66. greatsql> SELECT DUMP('GreatSQL', 1016);
67. +-------------------------------------------------------------------+
68. | DUMP('GreatSQL', 1016) |
69. +-------------------------------------------------------------------+
70. | Type=15 Len=10 CharacterSet=utf8mb3:08,00,47,72,65,61,74,53,51,4c |
71. +-------------------------------------------------------------------+
73. -- 10.以单字符形式返回数据,并显示字符集信息
74. +----------------------------------------------------+
75. | DUMP('GreatSQL', 1017) |
76. +----------------------------------------------------+
77. | Type=15 Len=8 CharacterSet=utf8mb3:G,r,e,a,t,S,Q,L |
78. +----------------------------------------------------+
80. -- 11.参数length超过expr实际长度
81. greatsql> SELECT DUMP('GreatSQL', 16, 3, 99);
82. +----------------------------------------+
83. | DUMP('GreatSQL', 16, 3, 99) |
84. +----------------------------------------+
85. | Type=15 Len=10:47,72,65,61,74,53,51,4c |
86. +----------------------------------------+
88. -- 12.参数start_position超过expr实际长度
89. greatsql> SELECT DUMP('GreatSQL', 16, 99, 3);
90. +-----------------------------+
91. | DUMP('GreatSQL', 16, 99, 3) |
92. +-----------------------------+
93. | NULL |
94. +-----------------------------+
问题反馈
联系我们
扫码关注微信公众号

