社区
C++ Builder
帖子详情
字段中有汉字,为何用SQL的WHERE语句检查不到?
BCBPLC
2010-05-17 11:04:13
SQL 2000 SERVER
建了一个数据库,表名 Nodes
有一个字段 NodeName, 类型为nvarchar(16)
字段内容 中有汉字: 我们
用SQL语句
select * from Nodes where NodeName='我们'
没法列出该记录,但内容为字母或数字就能成功检索到
select * from Nodes where NodeName='asdffff';
为何出现怪事
...全文
1923
5
打赏
收藏
字段中有汉字,为何用SQL的WHERE语句检查不到?
SQL 2000 SERVER 建了一个数据库,表名 Nodes 有一个字段 NodeName, 类型为nvarchar(16) 字段内容 中有汉字: 我们 用SQL语句 select * from Nodes where NodeName='我们' 没法列出该记录,但内容为字母或数字就能成功检索到 select * from Nodes where NodeName='asdffff'; 为何出现怪事
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
托塔雨天王
2011-07-25
打赏
举报
回复
2
字段内容 中有汉字: 我们
用like 别用=
select * from Nodes where NodeName like '%我们%'
BCB
2010-05-17
打赏
举报
回复
宽串的缘故
BCBPLC
2010-05-17
打赏
举报
回复
1
nvarchar是UNICODE编码,
所以常数汉字串前要加 N'这是汉字串'
BCBPLC
2010-05-17
打赏
举报
回复
解决了!
BCBPLC
2010-05-17
打赏
举报
回复
比如 select @status = N'stopped'
那么其中的字符串 stopped 前面为什么要加 N 呢?而且我们发现有些地方加 N 与否都没有影响,有些地方又必须加 N。
N 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了,对于东方文字字符,就需要两个字节来存储。Unicode 为了统一、规范、方便、兼容,就规定西文字符也用两个字节来存储。
也就是说加 N 就表示字符串用 Unicode 方式存储。
但有时候加与不加都一样,又是什么原因呢?这是由于自动转换造成的。
比如:
declare @status nvarchar(20)
select @status = N'stopped'
select @status = 'stopped'
实际上上述两句赋值的结果是一样的,因为变量类型就是 nvarchar(Unicode 类型)。
而有些地方(比如:sp_executesql 的参数)不能自动转换,所以需要加 N 了。
my
sql
语句
查询某个
字段
不包含中文
汉字
作为一名经验丰富的开发者,我很高兴能帮助你理解如何实现“my
sql
语句
查询某个
字段
不包含中文
汉字
”。接下来,我将通过一个简短的教程,向你展示如何完成这个任务。 流程 首先,让我们通过一个流程图来了解整个任务的步骤: #render_9_2211737330-svg{font-family:"trebuchet ms",ve...
SQL
Server判断
字段
中是否存在数字、
汉字
、字母、英文
--1、判断是否存在
汉字
select * from 表名 where 列名 like '%[吖-座]%' --2、判断是否存在
汉字
以外的其他字符 select * from 表名 where 列名 like '%[^吖-座]%' --3、判断
字段
中是否有数字、字母 SELECT * FROM 表名 WHERE 列名 LIKE'%[a-zA-Z0-9]%' --4、判断
字段
中是否有数字、字母以外的字符 SELECT * FROM 表名 WHERE 列名 LIKE'%[^a-zA-Z0-9]%' .
MY
SQL
表中
汉字
写入或
字段
赋值时乱码情况排误
-- 当修改
字段
值,或是直接写入时,
汉字
变成乱码情况 ,【可注意一下数据库名,记得修改】 -- 当字符顺序对
汉字
不兼容时,可能直接导致乱码情况发生。 最好做到库、表、
字段
(字符类型)排序规则是否一致 -- eg.在某库下建了临时表没有指定字符排序规则,下游会使用时,将临时表中的str
字段
值赋值给另外一个库表,可能会出现乱码 -- 未指定排序建表时,则表的排序规则是其库的排序规则 -- 1.
标准
Sql
语句
的写法
有次面试非得让我写3表连接查询的标准
SQL
语句
,可是我不知道,我们一般都是直接写而不考虑是否遵循标准,能用即可的。所以
检查
了一下。具体的如下:(http://blog.chinaunix.net/u/22313/showart.php?id=214419)一、 简单查询 简单的Transact-
SQL
查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或
My
SQL
语句
-
sql
语句
My
SQL
语句
-
sql
语句
sql
语句
介绍My
SQL
中如何求帮助
sql
语句
基本操作
sql
语句
介绍 什么是
sql
语句
?
SQL
(Structure Query Language)是 结构化查询
语句
的缩写,它是使用关系模型的数据库应用语言,由 IBM 在 20 世纪 70 年代开发出来,作为 IBM 关系数据库原型 System R 的原型关系语言,实现了关系数据库中的信息检索 20 世纪 80 年代初,美国国家标准局(ANSI)开始着手制定
SQL
标准,最早的 ANSI 标准于1986 年完成,
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章