gpt4 book ai didi

mysql substring/left 命令未返回正确的字符数

转载 作者:行者123 更新时间:2023-11-29 11:24:27 26 4
gpt4 key购买 nike

我正在执行以下语句:

select left(column,400) from table into outfile test;

我也尝试过使用子字符串函数(具有相同的结果)。

当我下载文件并获取字符数时:

wc -c < test

我得到 409 个字符作为返回。

有人能帮我解释一下为什么我的计数不正确吗?

数据库表设置为utf8,列为longtext。

当我运行以下命令时,它仍然没有给我正确的字符长度:

select length(left(column, 400) from table where id in (1,2,3,4);
+-----------------------------+
| length(left(column,400)) |
+-----------------------------+
| 402 |
| 403 |
| 412 |
| 401 |
+-----------------------------+

最佳答案

命令wc -c正在计算字节,无论用于开关的字符如何。对于 UTF-8 格式的数据库,mysql left 正在计算字符。由于 UTF-8 每个字符可以使用超过 1 个字节,因此我预计 column 中的前 400 个字符包含 8 个占用 2 个字节的字符(如果某些字符占用 3 个字节,则少于 8 个字符)。末尾可能还有一个换行符。

关于mysql substring/left 命令未返回正确的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38469529/

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