Argument data type ntext is invalid for argument …

Argument data type ntext is invalid for argument …

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0Share on Reddit0
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.






*You will get a similar error for any of the string functions such as: REPLACE, LEFT, RIGHT, LTRIM, RTRIM, etc. 

Let’s run an example for replicating the error:

–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.

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!!


My Latest Projects:



Recommended eBooks on SQL Server:

Tuning SQL Server: eBook by SQL Server MVP Artemakis Artemiou
Tuning SQL Server: eBook by SQL Server MVP Artemakis Artemiou
Administering SQL Server: eBook by SQL Server MVP Artemakis Artemiou
Administering SQL Server: eBook by SQL Server MVP Artemakis Artemiou
Artemakis Artemiou
Artemakis Artemiou is a Senior SQL Server Architect, Author, Software Developer and a Microsoft Data Platform MVP. He has over 15 years of experience in the IT industry in various roles. Among other, via his initiative SQLEBooks.com, Artemakis authors and publishes eBooks on different topics on SQL Server. Artemakis currently serves as the President of the Cyprus .NET User Group (CDNUG) and the International .NET Association Country Leader for Cyprus (INETA). Additionally he is the founder of the SQLArtBits initiative that aims to provide the technical community with simple, yet powerful and high-quality SQL Server tools. Currently, the highlights of these tools are DBA Security Advisor and In-Memory OLTP Simulator. Artemakis's official website can be found at aartemiou.com. Artemakis's blogs can be found at: SQLNetHub.com and TechHowTos.com.