Oracle兼容-函数-NCHR()函数


1. 语法

1. NCHR(n)

2. 定义和用法

NCHR() 函数的作用是将Unicode编码转换成对应字符的函数。使用方法与 CHR() 函数类似,只是将Unicode编码代替了ASCII码。

参数 n 的要求如下:

  1. 参数 n 的值要求为非负数,如果是负数则会报错。
  2. 参数 n 也可以是整数或浮点数,浮点数会自动被转换为(求绝对值后的)整数,例如:97.3会被转换成97 ,而97.6也会被转换成97。
  3. 参数 n 还可以是字符串,这个字符串必须能正确转换出非负整数。

3. 示例

1. greatsql> SET @n=97.184; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
2. Query OK, 0 rows affected (0.00 sec)

4. *************************** 1. row ***************************
5. @n: 97.184
6. NCHR(@n): a
7. LENGTH(NCHR(@n)): 1
8. LENGTHB(NCHR(@n)): 1
9. ORD(NCHR(@n)): 97

11. greatsql> SET @n=97.684; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
12. Query OK, 0 rows affected (0.00 sec)

14. *************************** 1. row ***************************
15. @n: 97.684
16. NCHR(@n): a
17. LENGTH(NCHR(@n)): 1
18. LENGTHB(NCHR(@n)): 1
19. ORD(NCHR(@n)): 97

21. greatsql> SET @n=-97.684; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
22. Query OK, 0 rows affected (0.00 sec)

24. ERROR 1210 (HY000): Incorrect arguments to function nchr.

26. greatsql> SET @n='97.684'; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
27. Query OK, 0 rows affected (0.00 sec)

29. *************************** 1. row ***************************
30. @n: 97.684
31. NCHR(@n): a
32. LENGTH(NCHR(@n)): 1
33. LENGTHB(NCHR(@n)): 1
34. ORD(NCHR(@n)): 97
35. 1 row in set (0.00 sec)

37. greatsql> SET @n='97.184'; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
38. Query OK, 0 rows affected (0.00 sec)

40. *************************** 1. row ***************************
41. @n: 97.184
42. NCHR(@n): a
43. LENGTH(NCHR(@n)): 1
44. LENGTHB(NCHR(@n)): 1
45. ORD(NCHR(@n)): 97

47. greatsql> SET @n='97.184a'; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
48. Query OK, 0 rows affected (0.00 sec)

50. ERROR 1292 (22007): Truncated incorrect DOUBLE value: '97.184a'
51. greatsql> SET @n='97.184  '; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
52. Query OK, 0 rows affected (0.00 sec)

54. *************************** 1. row ***************************
55. @n: 97.184
56. NCHR(@n): a
57. LENGTH(NCHR(@n)): 1
58. LENGTHB(NCHR(@n)): 1
59. ORD(NCHR(@n)): 97

问题反馈

联系我们

扫码关注微信公众号

greatsql-wx