我想知道如何找到存儲在特定列中的文本大小。 例如:如果相同的文本將被存儲在一個.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