SQL:有没有办法获得字段的平均字符数?

roc*_*kit 10 sql

是否有一个简单的SQL查询可以帮助我确定(文本)数据库字段的平均字符数?

例如,我的字段称为"消息".理想情况下,我很乐意做这样的事......

select average(characterlength(message)) from mydatabasetable
Run Code Online (Sandbox Code Playgroud)

这甚至可以通过SQL?

谢谢!

Dav*_*vid 13

编辑

原始错误的措辞: 在SQL Server中,LEN用于varchar字段.对于文本字段,请尝试DATALENGTH

更正因为@gbn是正确的: LEN不适用于Text或NText数据类型.对于TEXT,请尝试Datalength.

结束编辑

SELECT AVG(DATALENGTH(yourtextfield)) AS TEXTFieldSize
Run Code Online (Sandbox Code Playgroud)

编辑 - 添加

以上是TEXT数据类型.对于NTEXT,除以2.


dmc*_*lis 11

select avg(length(fieldname)) from table
Run Code Online (Sandbox Code Playgroud)

虽然答案可能因您的RDBMS而异.


mel*_*r55 6

对于MySQL:

SELECT AVG(CHAR_LENGTH(<column>)) AS avgLength FROM <table>
Run Code Online (Sandbox Code Playgroud)

从...获得:

http://forums.devshed.com/database-management-46/average-length-field-38905.html
Run Code Online (Sandbox Code Playgroud)