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)
  3. *************************** 1. row ***************************
  4. @n: 97.184
  5. NCHR(@n): a
  6. LENGTH(NCHR(@n)): 1
  7. LENGTHB(NCHR(@n)): 1
  8. ORD(NCHR(@n)): 97
  9. greatsql> SET @n=97.684; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
  10. Query OK, 0 rows affected (0.00 sec)
  11. *************************** 1. row ***************************
  12. @n: 97.684
  13. NCHR(@n): a
  14. LENGTH(NCHR(@n)): 1
  15. LENGTHB(NCHR(@n)): 1
  16. ORD(NCHR(@n)): 97
  17. greatsql> SET @n=-97.684; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
  18. Query OK, 0 rows affected (0.00 sec)
  19. ERROR 1210 (HY000): Incorrect arguments to function nchr.
  20. greatsql> SET @n='97.684'; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
  21. Query OK, 0 rows affected (0.00 sec)
  22. *************************** 1. row ***************************
  23. @n: 97.684
  24. NCHR(@n): a
  25. LENGTH(NCHR(@n)): 1
  26. LENGTHB(NCHR(@n)): 1
  27. ORD(NCHR(@n)): 97
  28. 1 row in set (0.00 sec)
  29. greatsql> SET @n='97.184'; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
  30. Query OK, 0 rows affected (0.00 sec)
  31. *************************** 1. row ***************************
  32. @n: 97.184
  33. NCHR(@n): a
  34. LENGTH(NCHR(@n)): 1
  35. LENGTHB(NCHR(@n)): 1
  36. ORD(NCHR(@n)): 97
  37. greatsql> SET @n='97.184a'; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
  38. Query OK, 0 rows affected (0.00 sec)
  39. ERROR 1292 (22007): Truncated incorrect DOUBLE value: '97.184a'
  40. greatsql> SET @n='97.184 '; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
  41. Query OK, 0 rows affected (0.00 sec)
  42. *************************** 1. row ***************************
  43. @n: 97.184
  44. NCHR(@n): a
  45. LENGTH(NCHR(@n)): 1
  46. LENGTHB(NCHR(@n)): 1
  47. ORD(NCHR(@n)): 97

问题反馈

联系我们

扫码关注微信公众号

greatsql-wx