我想知道如何找到存储在特定列中的文本大小。 例如:如果相同的文本将被存储在一个.txt文件中,那么我们可以看到它的大小为5kb或10kb或其他。我的列数据类型是longtext
。查找存储在特定列中的文本大小
是他们的任何SQL查询?
我想知道如何找到存储在特定列中的文本大小。 例如:如果相同的文本将被存储在一个.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
..是否为UTF-8或UTF-16做这项工作? – JAVAGeek 2012-07-13 18:04:48
如果你想知道字符串使用了多少个字节,这可以工作在多字节字符上。例如。对于三个2字节字符,LENGTH()将返回6.如果你想要字符计数,使用CHAR_LENGTH() – 2015-04-21 16:33:45