where nvarchar2='一值' 这个条件写错了癦??

xiaohehe922 2008-02-29 05:16:10
datetime1该字段内容为‘2007-1-28’,nvarchar2该字段里内容为‘一值’

但是我这么写:
select * from table where year(datetime1)=2007 and nvarchar2='一值'
查出0条记录
但是我这么写:
select * from table where year(datetime1)=2007 查出了这条记录

敢问是何原因,难道nvarchar2='一值' 这样写不对??
...全文
70 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohehe922 2008-02-29
  • 打赏
  • 举报
回复
各位,解决!

原因让我崩溃:where nvarchar2=N'一值'
mnc898 2008-02-29
  • 打赏
  • 举报
回复
lz,试了你的代码没有问题,可能是上面说的有空格了.
wzy_love_sly 2008-02-29
  • 打赏
  • 举报
回复
create table tb (nvarchar1 varchar(10),nvarchar2 varchar(10),datetime1 datetime,float1 int)
insert into tb select null,'一值','2007-1-28',21
insert into tb select null,'二值','2007-1-29',22

select * from tb
where year(datetime1)=2007 and nvarchar2='一值'


nvarchar1 nvarchar2 datetime1 float1
NULL 一值 2007-01-28 00:00:00.000 21

能出来啊,没改语句
xiaohehe922 2008-02-29
  • 打赏
  • 举报
回复
表大概是这个样子:
nvarchar1 nvarchar2 datetime1 float1
NULL 一值 2007-1-28 21
NULL 二值 2007-1-29 22
xiaohehe922 2008-02-29
  • 打赏
  • 举报
回复
这里怎么不能贴图片 - -
dawugui 2008-02-29
  • 打赏
  • 举报
回复
select * from table where year(datetime1) = 2007 and rtrim(nvarchar2)='一值'   

nvarchar2是oracle的东西吧?
wzy_love_sly 2008-02-29
  • 打赏
  • 举报
回复
把结果放出来看下,nvarchar2不对吧?
pt1314917 2008-02-29
  • 打赏
  • 举报
回复

--存在空格?试着去下空格看看
select * from table where year(datetime1)=2007 and replace(nvarchar2,' ','')='一值'

34,587

社区成员

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

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