SQL Server 2005 查询问题

Marco2752 2010-09-21 04:59:49
以下两句查询语句得到结果为什么一样

select * from tablename where UserName = '测试'
select * from tablename where UserName = '测试 '


查询语句后面的空格好像不起作用,求高人指点!
...全文
129 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Marco2752 2010-09-25
  • 打赏
  • 举报
回复
SQL Server 2005 跟 SQL Server 2008 都会忽悠后面的空格
pengpeng409 2010-09-25
  • 打赏
  • 举报
回复
学习。。
chenchong32139 2010-09-21
  • 打赏
  • 举报
回复
SQL Server 2008中replace函数使用与2005有不同。当函数的第一个输入参数属于char类型时,在2005中将裁剪该参数尾随的空格,而在2008中将保留该尾随的空格。
正解!
王向飞 2010-09-21
  • 打赏
  • 举报
回复
select * from (select row_number() over (order by getdate()) as pxid,* from table ) T
where pxid = 1
[Quote=引用 13 楼 qiang0326 的回复:]
引用 12 楼 wxf163 的回复:
引用 11 楼 qiang0326 的回复:
引用 10 楼 wxf163 的回复:
SQL code
select * from (select row_number() over (order by getdate()) as pxid from table ) T
where pxid = 1


是我说的那个吗
是嗯



……
[/Quote]
claro 2010-09-21
  • 打赏
  • 举报
回复
更正:
SQL Server 2008中replace函数使用与2005有不同。当函数的第一个输入参数属于char类型时,在2005中将裁剪该参数尾随的空格,而在2008中将保留该尾随的空格。
claro 2010-09-21
  • 打赏
  • 举报
回复
在SQL2005中会忽略,而在SQL2008中不会。
黎木雨 2010-09-21
  • 打赏
  • 举报
回复
忽略空格的,结果当然一样
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wxf163 的回复:]
引用 11 楼 qiang0326 的回复:
引用 10 楼 wxf163 的回复:
SQL code
select * from (select row_number() over (order by getdate()) as pxid from table ) T
where pxid = 1


是我说的那个吗
是嗯
[/Quote]


好像有语法错误
王向飞 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 qiang0326 的回复:]
引用 10 楼 wxf163 的回复:
SQL code
select * from (select row_number() over (order by getdate()) as pxid from table ) T
where pxid = 1


是我说的那个吗
[/Quote]是嗯
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wxf163 的回复:]
SQL code
select * from (select row_number() over (order by getdate()) as pxid from table ) T
where pxid = 1
[/Quote]

是我说的那个吗
王向飞 2010-09-21
  • 打赏
  • 举报
回复
select * from (select row_number() over (order by getdate()) as pxid from  table ) T 
where pxid = 1
  • 打赏
  • 举报
回复
只查数据库里的第一条数据出来语句怎么写呀
Rotel-刘志东 2010-09-21
  • 打赏
  • 举报
回复
一样的,虽然第二有空格sql server会忽略空格的。
王向飞 2010-09-21
  • 打赏
  • 举报
回复
确实不起作用。
前空格可以查,后空格不可以,

建议楼主在保存数据的数据过滤掉空格,毕竟空格不容易记忆和表现。
一般在前台UI中都会有输入验证过滤掉的。
dawugui 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 marco2752 的回复:]
以下两句查询语句得到结果为什么一样


SQL code
select * from tablename where UserName = '测试'
select * from tablename where UserName = '测试 '


查询语句后面的空格好像不起作用,求高人指点!
[/Quote]
肯定一样,sql server 忽略后面的空格。
qq574444572 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 billpu 的回复:]
是忽略词尾的空格的,但是词首的是不忽略的 为什么我也不清楚...约定俗成?
[/Quote]
Marco2752 2010-09-21
  • 打赏
  • 举报
回复
我的是SQL Server 2005 得到的结果就一样
在数据库里面已经有空格了
两句都能将同一条数据查出来
「已注销」 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 marco2752 的回复:]
以下两句查询语句得到结果为什么一样

SQL code
select * from tablename where UserName = '测试'
select * from tablename where UserName = '测试 '


查询语句后面的空格好像不起作用,求高人指点!
[/Quote]
应该是不一样的吧
billpu 2010-09-21
  • 打赏
  • 举报
回复
是忽略词尾的空格的,但是词首的是不忽略的 为什么我也不清楚...约定俗成?
ws_hgo 2010-09-21
  • 打赏
  • 举报
回复
消除空格!~~

34,593

社区成员

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

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