Its often useful to check the size of the column before you post text to it. For varchar columns, use Len(). For text, use Datalength().
So: SELECT LEN(mytextfield) AS varcharsize
or
SELECT DATALENGTH(mytextfield) AS textsize
Of course this only gives you the length of what's been put in there and not its max ALLOWABLE size. To do that, use a query like the following:
SELECT COLUMNPROPERTY(OBJECT_ID('dbo.yourtablename'), 'yourcolumnname', 'precision') AS colLength
This can be really, really useful when you are posting notes back to your database, for example, to make sure you do not overflow the allowed size. Here I check against my NOTES table.
checklen := SqlExecute("SELECT COLUMNPROPERTY(OBJECT_ID('dbo.NOTES'), 'NOTES', 'precision') AS col
:IF val(checklen[1,1]) < texttoupdate;
//commit the text data
:ENDIF;
Personally, I just split the data into chunks allowed by the column and enter it into the table. I use a management field as the id to track the split note so it appears as a single note to the user and to other scripts that need an unique value.
No comments:
Post a Comment