如何解决VARCHAR(255) 的最大可能大小是多少?
在 Drupal 文档页面 (https://www.drupal.org/docs/7/api/schema-api/data-types/varchar) 上,我读到:
确保您了解多字节字符集的影响。 VARCHAR(255) 存储 255 个字符,可能超过 255 个字节。
所以我很好奇 255 个字符的最大可能大小是多少?
解决方法
根据RFC 2279,可能的最高字符(代码点0x7FFF FFFF)可以用6个字节表示。你可以在 PostgreSQL 中表示的最高代码点是 0x10FFFF,它占用 4 个字节:
SELECT E'\U0010FFFF';
?column?
══════════
(1 row)
SELECT E'\U00110000';
ERROR: invalid Unicode escape value at or near "\U00110000"
LINE 1: SELECT E'\U00110000';
^
SELECT CAST(E'\U0010FFFF' AS bytea);
bytea
════════════
\xf48fbfbf
(1 row)
因此,如果您假设每个字符的上限为 4 个字节,那么您就安全了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。