SQL Compact Edition中仍然需要Unicode前缀N吗?

时间:2009-11-06 20:57:25

标签: unicode sql-server-ce

至少在以前版本的SQL Server中,您必须使用“N”作为Unicode字符串常量的前缀,以使它们被视为Unicode。因此,

select foo from bar where fizz = N'buzz'

(请参阅"Server-Side Programming with Unicode" for SQL Server 2005“from the horse's's”文档。)

我们有一个使用SQL Compact Edition的应用程序,我想知道是否仍然需要它。从我正在进行的测试来看,它似乎是不必要的。也就是说,以下SQL语句在SQL CE中的行为相同,但第二个在SQL Server 2005中失败:

select foo from bar where foo=N'າຢວ'
select foo from bar where foo='າຢວ'

(我希望我不会用一些我不知道的语言咒骂......)

我想知道是否因为SQL CE中所有字符串都被视为Unicode,或者默认代码页现在可以识别Unicode。

如果有人看过任何官方文件,不管是不是,我都会感激。

我知道我可以走安全路线并添加“N”,但是有很多代码需要更改,如果我不需要,我不想!谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

SQL CE最初是为Windows CE开发的,它纯粹是Unicode。因此,SQL CE已经严重依赖于Unicode,并且“N”前缀是不必要的。