学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
 20 12
发新话题
打印

SELECT 语句

SELECT 语句

在数据库里明明有9233cc这个工号,但是
SELECT *
FROM dbo.Training
WHERE (Badge = '9233cc')
找不到这个工号,
如果我改成
SELECT *
FROM dbo.Training
WHERE (Badge like  '%9233cc%')
就可以了,我看了一下没有空格啊,会是什么其他原因呢,在线等

TOP

列类型是什么?

SELECT *
FROM dbo.Training
WHERE (ltrim(rtrim(Badge)) = '9233cc')

如果这样能查..那就是空格问题.
我的msn: myfend@hotmail.com

TOP

以楼上的方式查了,查不到,列的类型是varchar。谢谢,再帮我想想,我继续等。

TOP

如果一定有这个工号..而这个工号..前后又没有其它字符的话..一般都能查到..
而你查不到..我就不知道了.
我的msn: myfend@hotmail.com

TOP

我也很纳闷啊,这张表我是分两次填工号的的,前面的一些工号用 select语句就可以搜到,第二次填上去的那一批就是不行了。

TOP

是自己填的还是导入进去的啊.
说不定有回车符呢.

[[italic] 本帖最后由 XieLi 于 2007-11-28 11:03 编辑 [/italic]]
拥有蓝天的白云,拥有你的我.

TOP

刚开始是自己填的,后来看不行,又从excel里导入了一次。怎么看出来有回车键的可能啊。

TOP

我发现如果我用SELECT *
FROM dbo.Training
WHERE (Badge LIKE '9233CC%')
是可以搜索到的,也就是在9233CC后面有什么符号,我已经规规矩矩手工重新敲了一遍也不行,有没有办法清除掉9233CC后面的不知名符号。谢谢,在线等。

TOP

SELECT * FROM dbo.Training
WHERE SUBSTRING(BADGE,1,LEN(BADGE)-1)
='9233CC'

[[italic] 本帖最后由 XieLi 于 2007-11-28 13:43 编辑 [/italic]]
拥有蓝天的白云,拥有你的我.

TOP

还是不行啊,天哪,那该怎么办啊、

TOP

 20 12
发新话题