§ Oracle兼容-函数-NCHR()函数
§ 1. 语法
NCHR(n)
1
§ 2. 定义和用法
NCHR()
函数的作用是将Unicode编码转换成对应字符的函数。使用方法与 CHR()
函数类似,只是将Unicode编码代替了ASCII码。
参数 n
的要求如下:
- 参数 n 的值要求为非负数,如果是负数则会报错。
- 参数 n 也可以是整数或浮点数,浮点数会自动被转换为(求绝对值后的)整数,例如:97.3会被转换成97 ,而97.6也会被转换成97。
- 参数 n 还可以是字符串,这个字符串必须能正确转换出非负整数。
§ 3. 示例
greatsql> SET @n=97.184; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
Query OK, 0 rows affected (0.00 sec)
*************************** 1. row ***************************
@n: 97.184
NCHR(@n): a
LENGTH(NCHR(@n)): 1
LENGTHB(NCHR(@n)): 1
ORD(NCHR(@n)): 97
greatsql> SET @n=97.684; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
Query OK, 0 rows affected (0.00 sec)
*************************** 1. row ***************************
@n: 97.684
NCHR(@n): a
LENGTH(NCHR(@n)): 1
LENGTHB(NCHR(@n)): 1
ORD(NCHR(@n)): 97
greatsql> SET @n=-97.684; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
Query OK, 0 rows affected (0.00 sec)
ERROR 1210 (HY000): Incorrect arguments to function nchr.
greatsql> SET @n='97.684'; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
Query OK, 0 rows affected (0.00 sec)
*************************** 1. row ***************************
@n: 97.684
NCHR(@n): a
LENGTH(NCHR(@n)): 1
LENGTHB(NCHR(@n)): 1
ORD(NCHR(@n)): 97
1 row in set (0.00 sec)
greatsql> SET @n='97.184'; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
Query OK, 0 rows affected (0.00 sec)
*************************** 1. row ***************************
@n: 97.184
NCHR(@n): a
LENGTH(NCHR(@n)): 1
LENGTHB(NCHR(@n)): 1
ORD(NCHR(@n)): 97
greatsql> SET @n='97.184a'; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
Query OK, 0 rows affected (0.00 sec)
ERROR 1292 (22007): Truncated incorrect DOUBLE value: '97.184a'
greatsql> SET @n='97.184 '; SELECT @n, NCHR(@n), LENGTH(NCHR(@n)), LENGTHB(NCHR(@n)), ORD(NCHR(@n))\G
Query OK, 0 rows affected (0.00 sec)
*************************** 1. row ***************************
@n: 97.184
NCHR(@n): a
LENGTH(NCHR(@n)): 1
LENGTHB(NCHR(@n)): 1
ORD(NCHR(@n)): 97
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
扫码关注微信公众号