How do I escape a single quote in SQL Server?

tim_wonil picture tim_wonil · Oct 19, 2009 · Viewed 1.2M times · Source

I'm trying to insert some text data into a table in SQL Server 9.

The text includes a single quote(').

How do I escape that?

I tried using two single quotes, but it threw me some errors.

eg. insert into my_table values('hi, my name''s tim.');

Answer

Cᴏʀʏ picture Cᴏʀʏ · Oct 19, 2009

Single quotes are escaped by doubling them up, just as you've shown us in your example. The following SQL illustrates this functionality. I tested it on SQL Server 2008:

DECLARE @my_table TABLE (
    [value] VARCHAR(200)
)

INSERT INTO @my_table VALUES ('hi, my name''s tim.')

SELECT * FROM @my_table

Results

value
==================
hi, my name's tim.