6

我想知道我们如何找到存储在特定列中的文本大小。例如:如果相同的文本将存储在 .txt 文件中,那么我们可以看到它的大小为 5kb 或 10kb 或其他大小。我的列数据类型是longtext.

他们有任何 sql 查询吗?

4

4 回答 4

10

如果它不是多字节字符集,为什么不直接使用 LENGTH() 函数呢?

create table t
( a longtext );
insert into t (a) values ('abcdef');

select length(a) from t;

如果有多字节字符,那应该会为您提供字符数或字节数。

如注释中所述,使用 CHAR_LENGTH() 表示多字节字符集中字符串的字符长度。

于 2012-07-13T17:58:19.803 回答
2

有一个函数可以返回字符数,而不考虑字节数:

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_char-length

所以,SELECT MAX(CHAR_LENGTH(MyField)) FROM MyTable

于 2012-07-13T18:24:41.020 回答
1
select length('this is a long text')
于 2012-07-13T20:37:22.283 回答
1

我想这是多字节字符集的最佳选择,

select CHAR_LENGTH ('abc æøå');

会给你7。

或者

select CHAR_LENGTH ('漢語');

会给你2。

于 2014-11-07T09:16:31.883 回答