Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将ascii码转换为字符并将其存储在表的列中_Mysql_String_Csv_Database Trigger_Recursive Query - Fatal编程技术网

Mysql 将ascii码转换为字符并将其存储在表的列中

Mysql 将ascii码转换为字符并将其存储在表的列中,mysql,string,csv,database-trigger,recursive-query,Mysql,String,Csv,Database Trigger,Recursive Query,假设我有一个“varchar”变量,其中包含用“,”分隔的“ascii”代码,我想将其转换为字符并插入到列中。我有什么办法可以做到这一点吗?我是mysql新手,所以我想知道是否有人可以帮助我 示例:假设我们在触发器或过程中 declare test varchar(10); set test = "73,116"; 现在我想把它转换成“it”,并将它存储在一个表的列中,这个表也是varchar。 请帮帮我。对于基于集合的语言(如SQL),迭代解析字符串不是一件容易的事情 一个选项使用递归查询(

假设我有一个“varchar”变量,其中包含用“,”分隔的“ascii”代码,我想将其转换为字符并插入到列中。我有什么办法可以做到这一点吗?我是mysql新手,所以我想知道是否有人可以帮助我

示例:假设我们在触发器或过程中

declare test varchar(10);
set test = "73,116";
现在我想把它转换成“it”,并将它存储在一个表的列中,这个表也是varchar。
请帮帮我。

对于基于集合的语言(如SQL),迭代解析字符串不是一件容易的事情

一个选项使用递归查询(MySQL 8.0中提供):

递归查询按顺序提取每个csv部分,同时跟踪位置。然后,外部查询将每个ASCII码转换为相应的字符,并将结果重新聚合为字符串

| res |
| --- |
| It  |

你能解释什么是“73116”;应在vbecasu的结果,这是没有ascii我知道的你好nbk,感谢您的答复。“73116”的结果应该是“It”为73=“I”和116=“t”。逗号分隔的列对MySQL不好,尤其是在长度未确定的情况下。仔细想想,最好将其规范化
| res |
| --- |
| It  |