Argument data type ntext is invalid for argument 1 of left function

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.

Argument data type ntext is invalid for argument 1 of left function - Article on SQLNetHub

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.

Argument data type ntext is invalid for argument 1 of left function - Article on SQLNetHub

Discussion

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! Enroll to our Online Course!

Check our online course titled “Essential SQL Server Development Tips for SQL Developers” (special limited-time discount included in link).

Sharpen your SQL Server database programming skills via a large set of tips on T-SQL and database development techniques. The course, among other, features over than 30 live demonstrations!

Essential SQL Server Development Tips for SQL Developers - Online Course
(Lifetime Access/ Live Demos / Downloadable Resources and more!)

Learn More


 

Featured Online Courses:

 

Related SQL Server Development Articles:

 

Subscribe to our newsletter and stay up to date!

Check our eBooks!

 

Rate this article: 1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 5.00 out of 5)

Loading...

Reference: SQLNetHub.com (https://www.sqlnethub.com)

© SQLNetHub