When you try to run a string function directly on a text or ntext column, in this example the “LEFT” function, you will get the following error: Argument data type ntext is invalid for argument 1 of left function.
Similarly, if you try to run the REPLACE function against a text or ntext column, you will get the below error message:
Argument data type ntext is invalid for argument 1 of replace function.
*Note: You will get similar error messages for any of the string functions such as: REPLACE, LEFT, RIGHT, LTRIM, RTRIM, therefore, the handling of such errors will be similar to the one I describe on this article.
Reproducing the Error Message
Let’s run an example for replicating the error for LEFT string function:
--Create temporary table create table #tblTest( id int, freeTxt ntext ); --Enter sample data insert into #tblTest select 1,N'Testing ntext data type'; --Try to run the LEFT function on the ntext column directly select ID,left(freeTxt,13) as StringSegment from #tblTest
As you can see, the above statement returns the error message and cannot be executed. The exact error message is:
Msg 8116, Level 16, State 1, Line 13
Argument data type ntext is invalid for argument 1 of left function.
How to Resolve the Issue
Now let’s try the following:
--Use casting select ID,left(cast(freeTxt as varchar(max)),13) as StringSegment from #tblTest
As you can see, the above T-SQL statement was successfully executed and returned the result of the LEFT string function.
The difference of the last statement from the one that returns an error is that now we have used casting prior to using the string function on the ntext column. So, in similar cases, whenever you want to run a string function on a text/ntext column, always cast/convert it first to varchar/nvarchar!
Learn more tips like this! Check our Online Course!
Check our online course titled “Essential SQL Server Administration Tips” (special limited-time discount included in link).
Learn essential hands-on SQL Server Administration tips on SQL Server maintenance, security, performance, integration, error handling and more. Many live demonstrations and downloadable resources included!
Featured Online Courses:
- Essential SQL Server Administration Tips (new)
- The Philosophy and Fundamentals of Computer Programming (new)
- Introduction to Azure SQL Database
- SQL Server 2019: What’s New
- Entity Framework: Getting Started (Ultimate Beginners Guide)
- SQL Server Fundamentals (SQL Database for Beginners)
- How to Import and Export Data in SQL Server
- Get Started with SQL Server in 30 Minutes
Related SQL Server Development Articles:
- Error converting data type varchar to float
- Error converting data type varchar to numeric
- The set identity_insert Command in SQL Server
- Handling NULL Character x00 when Exporting to File Using BCP
- The Net.Tcp Port Sharing Service service on Local Computer started and then stopped
- …more SQL Server development articles