主题:  SQL中LIKE语句的使用

三仙半

职务:普通成员
等级:1
金币:0.0
发贴:241
注册:2006/1/24 15:46:21
#12006/2/4 14:02:07
我定义学生情况时学号格式是这样的111101,前4位数字,每位对应一个管理层次,后2位数字对应于这个学生,在数据库中我定义它为“文本”类型,我现在想选择某一个管理层次对应的全部学生。我的语句如下:
set rsXS = server.createObject("ADODB.recordSet"
strSQL = "SELECT * FROM 学生情况 WHERE 学号 like '11*'"
rsXS.open strSQL,conn,1,3,1
但执行后,rsXS总是空的,如果把WHERE子句改写成“WHERE 学号 like '111101'”就会选择到这个特定的学生,为什么呢?


闭起眼睛看人生

三仙半

职务:普通成员
等级:1
金币:0.0
发贴:241
注册:2006/1/24 15:46:21
#22006/2/5 12:32:27
大家别只看呀!我急,我急,我急急急!先在这里谢谢大家了,


闭起眼睛看人生

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#32006/2/5 12:54:33
like '11%'



三仙半

职务:普通成员
等级:1
金币:0.0
发贴:241
注册:2006/1/24 15:46:21
#42006/2/5 14:41:27
allinhands在上个帖子中说
引用:
like '11%'

朋友,太感谢你了,好用啊!!
不过,我如果想通配单个字符,用什么呢?


闭起眼睛看人生

蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
注册:2001/12/20 15:57:57
#52006/2/5 14:53:41
通配符:

% 包含零个或更多字符的任意字符串。
WHERE title LIKE '%computer%'

_(下划线)任何单个字符。
WHERE au_fname LIKE '_ean'

[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。
WHERE au_lname LIKE '[C-P]arsen'

[^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。
WHERE au_lname LIKE 'de[^l]%'
将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏。


非常大鱼

蔚蓝之月

职务:普通成员
等级:1
金币:0.0
发贴:17
注册:2003/4/24 9:50:36
#62006/2/5 15:40:02
看贴要回贴



三仙半

职务:普通成员
等级:1
金币:0.0
发贴:241
注册:2006/1/24 15:46:21
#72006/2/5 15:57:31
谢谢各位!我明白了。我其实困惑在查MSDN和VBS的帮助,它们都用*和?,害苦我了!谢谢大家。


闭起眼睛看人生

浮尘

职务:普通成员
等级:3
金币:7.0
发贴:1258
注册:2001/11/19 12:41:09
#82006/2/7 8:54:57
呵呵



秋天的童话

职务:普通成员
等级:1
金币:0.0
发贴:131
注册:2006/9/8 10:24:27
#92006/2/7 9:16:00
呵呵