SQL语句问题
假如 有个号码
13321203344
我要写一条语句
从第四位开始查询 位长4位的语句
也就是我要查询一批号码里 等于2120的
left(phone,7) 这样只能查前7位 我要从第四位开始查 怎么写 我以前保存过那条语句 但是我忘拉时间长不用拉
电脑问题网给出的最佳答案
select * from table where substring(phone,4,4)='2120'
这就是查找 phone字段第4位开始,长度为4的,为2120 的语句。
非常好
第一个问题:
当语句执行后,再加上[数据库游标对象].MoveFirst,把游标移动到第一条记录
For i = 1 To 8
[数据库游标].MoveNext
Next
把游标移动8次到达第九条记录!
PS:为什么是1 TO 8而不是1 TO 9呢??因为当使用了MoveFirst后,当前游标的所在记录就为第一条,所以只要再移动8次就可以到达第九条记录了。
但这方法比较烦琐,如果你知道ID号的话,最好还是把SQL语句改为:
SELECT * FROM [Table] WHERE ID = ID ORDER BY ID DESC
第二个问题(补充问题):
你可以把语句改为:Conn.Execute("SQL语句")(0)
其中的"SQL语句",必须有记录返回,否则会出错,而且最好保证有一条记录,可以在语句中加上"TOP 1"来限制取得的记录数量
后面的"(0)",表示取当前记录的第0列的值,也就是取Fields(0)的值(其他列的值,可以相应的把0修改为其他列的序号,最小为0。但最好加上一个错误判断语句,否则出错了的话就很难搞咯)。
