Oracle兼容-函数-INITCAP()函数
1. 语法
1. INITCAP(string)
2. 定义和用法
INITCAP() 函数的作用是将字符串中的每个单词的首字母转为大写,其他字母转为小写。每个单词由空格或除字母和数字之外的字符分隔开。
- 在GreatSQL中,当
string中包含转义字符(\0\'\"''\\\b\B\n\N\r\R\t\T\z\Z)时,不会被当做2个字符,而是当做1个字符来处理。这会导致GreatSQL和Oracle的结果存在差异,在ORACLE中转义字符在INITCAP()函数处理后输出2个字符,比如:INITCAP('\n')结果为\N,而在GreatSQL中转义字符在INITCAP()函数处理后输出1个字符,比如:INITCAP('\n')结果为换行。 - 当参数
string是数值类型时,不会将输出结果转为科学计数法。另外,如果string超过81个数字,会导致溢出截断,此时结果为 65个9。
3. 示例
1. greatsql> SELECT INITCAP('hello world');
2. +------------------------+
3. | INITCAP('hello world') |
4. +------------------------+
5. | Hello World |
6. +------------------------+
8. greatsql> SELECT INITCAP('hello你好world');
9. +-----------------------------+
10. | INITCAP('hello你好world') |
11. +-----------------------------+
12. | Hello你好World |
13. +-----------------------------+
15. greatsql> SELECT INITCAP('hello123world');
16. +--------------------------+
17. | INITCAP('hello123world') |
18. +--------------------------+
19. | Hello123world |
20. +--------------------------+
22. greatsql> SELECT INITCAP(NULL);
23. +------------------------------+
24. | INITCAP(NULL) |
25. +------------------------------+
26. | NULL |
27. +------------------------------+
29. greatsql> SELECT INITCAP('hello\nworld');
30. +-------------------------+
31. | INITCAP('hello\nworld') |
32. +-------------------------+
33. | Hello
34. World |
35. +-------------------------+
37. greatsql> SELECT INITCAP('hello\1world');
38. +-------------------------+
39. | INITCAP('hello\1world') |
40. +-------------------------+
41. | Hello1world |
42. +-------------------------+
44. greatsql> SELECT INITCAP('àabcd abÀcd abcdÀ');
45. +---------------------------------+
46. | INITCAP('àabcd abÀcd abcdÀ') |
47. +---------------------------------+
48. | Àabcd Abàcd Abcdà |
49. +---------------------------------+
51. greatsql> SELECT INITCAP(111111111111111111111111111111111111111111111111111111111111111111111111111111111);
52. +--------------------------------------------------------------------------------------------+
53. | INITCAP(111111111111111111111111111111111111111111111111111111111111111111111111111111111) |
54. +--------------------------------------------------------------------------------------------+
55. | 111111111111111111111111111111111111111111111111111111111111111111111111111111111 |
56. +--------------------------------------------------------------------------------------------+
58. greatsql> SELECT INITCAP(1111111111111111111111111111111111111111111111111111111111111111111111111111111111);
59. +---------------------------------------------------------------------------------------------+
60. | INITCAP(1111111111111111111111111111111111111111111111111111111111111111111111111111111111) |
61. +---------------------------------------------------------------------------------------------+
62. | 99999999999999999999999999999999999999999999999999999999999999999 |
63. +---------------------------------------------------------------------------------------------+
64. 1 row in set, 1 warning (0.00 sec)
66. greatsql> SHOW WARNINGS;
67. +---------+------+------------------------------------------------------------------------------------------------------------------------+
68. | Level | Code | Message |
69. +---------+------+------------------------------------------------------------------------------------------------------------------------+
70. | Warning | 1292 | Truncated incorrect DECIMAL value: '111111111111111111111111111111111111111111111111111111111111111111111111111111111' |
71. +---------+------+------------------------------------------------------------------------------------------------------------------------+
问题反馈
联系我们
扫码关注微信公众号

