我想知道我们如何找到存储在特定列中的文本大小。例如:如果相同的文本将存储在 .txt 文件中,那么我们可以看到它的大小为 5kb 或 10kb 或其他大小。我的列数据类型是longtext
.
他们有任何 sql 查询吗?
如果它不是多字节字符集,为什么不直接使用 LENGTH() 函数呢?
create table t
( a longtext );
insert into t (a) values ('abcdef');
select length(a) from t;
如果有多字节字符,那应该会为您提供字符数或字节数。
如注释中所述,使用 CHAR_LENGTH() 表示多字节字符集中字符串的字符长度。
有一个函数可以返回字符数,而不考虑字节数:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_char-length
所以,SELECT MAX(CHAR_LENGTH(MyField)) FROM MyTable
。
select length('this is a long text')
我想这是多字节字符集的最佳选择,
select CHAR_LENGTH ('abc æøå');
会给你7。
或者
select CHAR_LENGTH ('漢語');
会给你2。