SQL中使用 N 前缀的原因
2010-11-23 15:13
316 查看
以前不是很理解为什么要在SQL语句中会有很多的N,比如说像这样的:Exec sp_executesql N'select * from tableName',今天翻了一下文档看到这样的话:
在服务器上执行的代码中(例如在存储过程和触发器中)显示的 Unicode 字符串常量必须以大写字母 N 为前缀。即使所引用的列已定义为 Unicode 类型,也应如此。如果不使用 N 前缀,字符串将转换为数据库的默认代码页。这可能导致不识别某些字符。
使用
原来是和代码页有关了
在服务器上执行的代码中(例如在存储过程和触发器中)显示的 Unicode 字符串常量必须以大写字母 N 为前缀。即使所引用的列已定义为 Unicode 类型,也应如此。如果不使用 N 前缀,字符串将转换为数据库的默认代码页。这可能导致不识别某些字符。
使用
N前缀的要求适用于在服务器上生成的和客户端发送的字符串常量。
原来是和代码页有关了
相关文章推荐
- Mysql使用profiling分析慢sql语句的原因
- 关于PL\SQL无法在64位Client下使用的原因及解决办法
- 请教一下各位大侠,关于sql语句中使用case替换where条件的查询出现空行的原因
- NoSQL 再次败北——我坚持使用 SQL 的原因
- SQL Server Order by在union子句不可直接使用的原因
- 造成ORA-01843 无效的月份 的一些原因 1) 当我们在一个中文环境的客户端使用如下sql语句 INSERT INTO "temptable" ( DELIVER_DATE ) VALUES
- 【手记】小心在where中使用NEWID()的大坑 【手记】解决启动SQL Server Management Studio 17时报Cannot find one of more components...的问题 【C#】组件分享:FormDragger窗体拖拽器 【手记】注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed
- 未能建立连接,原因:SQL Server 2005[SQL-DMO]必须使用管理工具才能连接到此服务器,怎么办?
- Thinkphp5 使用odbc连接到sqlserver, thinkphp5 sqlserver where 报错的原因
- 使用linq to sql更换数据源时 出现 sql server 的 error:26 的另类原因
- SQL SERVER 2005 无法使用SQL SERVER MANAGERMET STUDIO 登陆(原因是没有使用默认端口进行远程连接所造成的)
- mybatis项目使用log4j在控制台不打印sql的原因
- SQL 诞生 43 年了!为什么我们仍在使用它的 8 个原因
- vim做映射时使用<C-u>做前缀的原因
- yii 原生sql使用数据库前缀
- SQL死锁的原因分析使用SQL Server Profiler来监视为什么会死锁
- SQL查死锁进程,并结束死锁进程ID,如结束不掉可能是正被使用或占用,查找原因再Kill
- 分页功能中使用的SQL语句 MySQL与SQL server
- Jpa操作数据库之@Query使用SQL语句
- 在SQL语句中使用索引提示提高SQL性能