gpt4 book ai didi

mysql - 不从 MySql 存储过程中检索正确的十六进制值

转载 作者:行者123 更新时间:2023-11-29 10:43:46 25 4
gpt4 key购买 nike

我正在尝试使用以下过程向 sp1 表添加值。但它不会检索正确的十六进制值。

create table sp1(
id varchar(10),
txt varchar(10)
);


create procedure sp_ins1(p varchar(10))
BEGIN
set @x = char_length(p);
set @y = binary(p);
insert into sp1(id,txt)
values(@x,@y);
END;

通过调用以下函数将值添加到表中。

call sp_ins1(4);
call sp_ins1(13);
call sp_ins1(45);

select * from sp1\g

这就是结果

+------+----------+
| id | txt |
+------+----------+
| 1 | 34 |
| 2 | 3133 |
| 2 | 3435 |
| 4 | 36373537 |
| 1 | 31 |
+------+----------+

这是什么原因?

最佳答案

不明白问题所在。另外sp_ins7 != sp_ins1

尝试:

mysql> SELECT
-> CHAR_LENGTH('4') `id`,
-> BINARY('4') `txt_BIN`,
-> HEX('4') `txt_HEX`
-> UNION
-> SELECT
-> CHAR_LENGTH('13') `id`,
-> BINARY('13') `txt_BIN`,
-> HEX('13') `txt_HEX`
-> UNION
-> SELECT
-> CHAR_LENGTH('45') `id`,
-> BINARY('45') `txt_BIN`,
-> HEX('45') `txt_HEX`
-> UNION
-> SELECT
-> CHAR_LENGTH('6757') `id`,
-> BINARY('6757') `txt_BIN`,
-> HEX('6757') `txt_HEX`
-> UNION
-> SELECT
-> CHAR_LENGTH('1') `id`,
-> BINARY('1') `txt_BIN`,
-> HEX('1') `txt_HEX`;
+----+---------+----------+
| id | txt_BIN | txt_HEX |
+----+---------+----------+
| 1 | 4 | 34 |
| 2 | 13 | 3133 |
| 2 | 45 | 3435 |
| 4 | 6757 | 36373537 |
| 1 | 1 | 31 |
+----+---------+----------+
5 rows in set (0.00 sec)

参见12.5 String Functions::HEX .

关于mysql - 不从 MySql 存储过程中检索正确的十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45004907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com