gpt4 book ai didi

MySQL 函数/存储过程中出现 "Incorrect string value"错误

转载 作者:行者123 更新时间:2023-11-30 01:01:35 24 4
gpt4 key购买 nike

我需要将以下语句的输出分配给 MySQL 函数或存储过程中的变量:

SELECT CAST(0xAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AS CHAR(28));

我得到的只是这个:

Error Code: 1366 Incorrect string value: '\x81\xEC\x92\x01I\x06...' for column 'some_output' at row 1

这是显而易见的,但不知何故无法解决它。

我阅读了所有其他 CHARSET/COLLATION 解决方案,但这对我没有帮助。

DELIMITER $$

CREATE DEFINER=`root`@`localhost` FUNCTION `function_name`(`some_input` VARCHAR(100)) RETURNS varchar(100) CHARSET utf8mb4
BEGIN
DECLARE some_output CHAR(50) CHARSET utf8mb4;
SET some_output = SELECT CAST(0xAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AS CHAR(28));
RETURN some_output;
END

最佳答案

Hexadecimal Literals
... In string contexts hexadecimal values act like binary strings ...

您正在寻找这样的东西吗?

CREATE FUNCTION function_name() RETURNS VARBINARY(28)
RETURN 0xAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;

这里是SQLFiddle 演示

关于MySQL 函数/存储过程中出现 "Incorrect string value"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20081942/

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