最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • MySQL LENGTH() 函数如何测量字符串长度?

    mysql length() 函数如何测量字符串长度?

    MySQL LENGTH() 函数以“字节”为单位测量字符串长度,这意味着它不是多字节安全的。多字节安全函数(如 CHAR_LENGTH() 或 CHARACTER_LENGTH())与 LENGTH() 函数之间的结果差异尤其与 Unicode 相关,其中大多数字符都以两个字节进行编码,或者与 UTF-8 相关,其中字节数各不相同。例如,如果字符串包含四个 2 字节字符,则 LENGTH() 函数将返回 8,而 CHAR_LENGTH() 或 CHARACTER_LENGTH() 函数将返回 4。如下例所示 –

    示例

    mysql> Select LENGTH('tutorialspoint');
    +--------------------------+
    | LENGTH('tutorialspoint') |
    +--------------------------+
    |                       14 |
    +--------------------------+
    1 row in set (0.00 sec)

    上面的结果集显示字符串“tutorialspoint”的长度为14,因为它还没有转换为Unicode字符。以下查询将其转换为 Unicode 字符 –

    mysql> SET @A = CONVERT('tutorialspoint' USING ucs2);
    Query OK, 0 rows affected (0.02 sec)

    将字符串转换为 Unicode 后,结果为 28 而不是 14,因为在 Unicode 中单个字符占用 2 个字节,如下所示 –

    mysql> Select LENGTH(@A);
    +------------+
    | LENGTH(@A) |
    +------------+
    |         28 |
    +------------+
    1 row in set (0.00 sec)

    但是 CHAR_LENGTH() 给出的结果是 14,因为它是多字节安全函数,如下所示 –

    mysql> Select CHAR_LENGTH(@A);
    +-----------------+
    | CHAR_LENGTH(@A) |
    +-----------------+
    |              14 |
    +-----------------+
    1 row in set (0.00 sec)
    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » MySQL LENGTH() 函数如何测量字符串长度?
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 294稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情