N'的含義不明白

lilililikxy 2003-10-05 09:56:59
select N'select @cnt=count(*) from A where '+'.......'
與select 'select @cnt=count(*) from A where '+'.......'
結果是一樣的﹐之間到底有什么區別
"N" 的作用是什么﹖﹖﹖﹖﹖
...全文
37 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xbxue 2003-10-05
  • 打赏
  • 举报
回复
在英文版的Sql Server 7.0中用于处理中文输入。
lilililikxy 2003-10-05
  • 打赏
  • 举报
回复
謝謝
伍子V5 2003-10-05
  • 打赏
  • 举报
回复
Unicode 常量使用 N 开头来指定:N'A Unicode string'。
pengdali 2003-10-05
  • 打赏
  • 举报
回复
举例:

create database mmm
go
use mmm
go
ALTER DATABASE mmm COLLATE Latin1_General_Ci_Ai
go
create table test (a nvarchar(100))
go
insert test values(N'大力')
go
select * from test where a=N'大力' --这句可以查出
select * from test where a='大力' --这句查不出
pengdali 2003-10-05
  • 打赏
  • 举报
回复
nchar、nvarchar 和 ntext 的用法分别与 char、varchar 和 text 的用法一样,但在以下方面不同:

Unicode支持的字符范围更大。


存储 Unicode 字符所需要的空间更大。


nchar 和 nvarchar 列最多可以有 4,000 个字符,而不象 char 和 varchar 字符那样可以有 8,000 个字符。


Unicode 常量使用 N 开头来指定:N'A Unicode string'。


所有 Unicode 数据都使用相同的 Unicode 代码页。排序规则不控制用于 Unicode 列的代码页,仅控制比较规则和是否区分大小写等特性。
lilililikxy 2003-10-05
  • 打赏
  • 举报
回复
tks
happydreamer 2003-10-05
  • 打赏
  • 举报
回复
N表示Unicode的含义,就象类型中有varchar和nvarchar一样,一个Unicode字符占两个字节.使用N'的情况主要是在双字节系统环境中强制系统对每个字符用Unicode标准来解释,否则如果你的数据库.mdf文件是中文名而又不加N'的话,数据库加载后名称可能就变成乱码,因为系统按单字节处理字符造成

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧