sql - 绕过在字符串文字中添加前缀 N 的需要

标签 sql unicode localization

我们继承了一个应用程序,该应用程序最初并非设计用于使用本地化数据(本地化字符串,如俄语/日语、本地化日期时间格式等)。

最初从事该项目的开发人员没有预料到会有 unicode 字符串。虽然表的数据类型支持 unicode 字符(NVARCHAR 等),但它们的一些查询没有正确地以 N 为前缀。

例如:

select * from table where searchString like '%<search string here>%'

要使其与 Unicode 字符串一起使用:

select * from table where searchString like N'%<search string here>%'

然后我们决定只需要手动为所有字符串文字添加 N 前缀,但随后我们惊恐地发现到处都有大量查询。

所以,我的问题是,有没有办法在我们的查询中不添加前缀 N 但它仍然有效?就像告诉 SQL Server“嘿,请将所有字符串视为 Unicode。请不要让我每次都告诉你。:)”

问候, 伊恩

最佳答案

在 SQL Server 2000 和 2005 中,据我所知,没有。不能说大约是 2008 年,但怀疑是一样的。

关于sql - 绕过在字符串文字中添加前缀 N 的需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1232453/

相关文章:

firebase - 使用 Firebase 托管实现本地化 404 页面

php - 在 PHP 应用程序中支持多语言的最佳和最快方法是什么

mysql - 使用 "IN"缓慢查询 MySQL

sql - 在 SQL 中引用计算值

mysql - 遇到需要满足多个条件的 MySQL Join 问题

iOS 将字符串编码为 un​​icode

c# - 获取写入文件时字符串占用的大小(以字节为单位)?

php - 高分数据库

Python SQLite : enforce UTF-8 encoding

asp.net MVC3 DefaultModelBinder 错误消息键