How to get length of Text, NText and Image columns in SQL Server
There is sometimes a need to figure out the maximum space that is being used by a particular column in your database. You would initially think that the LEN() function would allow you to do this, but this function does not work on Text, NText or Image data types, so how do you figure out the length of a value in a column that has one of these data types?
Here is an example of running these commands on an IMAGE data type using the LEN() function:
SELECT name, LEN(packagedata) FROM dbo.sysdtspackages
Here is an example of running these commands on an IMAGE data type using the DATALENGTH() function:
SELECT name, DATALENGTH(packagedata) FROM dbo.sysdtspackages
If you wanted to find out the maximum length used for all of your records you could issue a command such as the following:
SELECT TOP 1 name, DATALENGTH(packagedata) FROM dbo.sysdtspackages ORDER BY 2 DESC
That's all there is to it. Another little function that you probably won't use often, but this is helpful to know it is there when you do need to use it.
- Add this command to your SQL Server T-SQL toolbox
- Take a look at these other useful T-SQL functions
Last Updated: 2007-02-27
About the author
View all my tips