I am trying to insert ≤
and ≥
into a symbol table where the column is of type nvarchar
.
Is this possible or are these symbols not allowed in SQL Server?
I am trying to insert ≤
and ≥
into a symbol table where the column is of type nvarchar
.
Is this possible or are these symbols not allowed in SQL Server?
To add to gonzalo's answer, both the string literal and the field need to support unicode characters.
Per Marc Gravell's answer on What does N' stands for in a SQL script ?:
'abcd'
is a literal for a <code><i>[var]</i>char</code> string, occupying 4 bytes memory, and using whatever code-page the SQL server is configured for.
N'abcd'
is a literal for a <code><b>n</b><i>[var]</i>char</code> string, occupying 8 bytes of memory, and using UTF-16.
Where the N
prefix stands for "National" Language in the SQL-92 standard and is used for representing unicode characters. For example, in the following code, any unicode characters in the basic string literal are first encoded into SQL Server's "code page":
Aside: You can check your code page with the following SQL:
<!-- language: lang-sql -->
SELECT DATABASEPROPERTYEX('dbName', 'Collation') AS dbCollation;
SELECT COLLATIONPROPERTY( 'SQL_Latin1_General_CP1_CI_AS' , 'CodePage' ) AS [CodePage];
The default is Windows-1252 which only contains these 256 characters
Once the values are capable of being passed, they'll also need to be capable of being stored into a column that supports unicode types, for example:
nchar
nvarchar
ntext
Further Reading: