★★★★★★★百分请教,简单的SQL通配符问题,用在ACCESS中。★★★★★★★

ezlz 2004-04-22 09:54:52
一个表中有这样的字段:

CODE
--------
SA
SAB
CA
CB
S
CD


现在有一个字符串‘SABC’,要得到所以在这个串中右边出现的 code 。

如何写sql得到:

SA
SAB
S
...全文
30 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
楚人无衣 2004-04-22
  • 打赏
  • 举报
回复
:) 上班事情比较少,就来了;呵呵
qingenerp 2004-04-22
  • 打赏
  • 举报
回复
select * from tblname where left('SABC', len(CODE)) = CODE
你最好把你的字段code改为别的名字
hzyood 2004-04-22
  • 打赏
  • 举报
回复
SELECT * from 表名 where code like 's*'
ezlz 2004-04-22
  • 打赏
  • 举报
回复
谢谢, weizi2000(秋风啊) ,帮我解决不少问题了。
jinjazz 2004-04-22
  • 打赏
  • 举报
回复
--建立一个表 test 字段 code ,测试数据----
--调用 exec mytest 'abcd',test
create procedure Mytest
@str char(10),
@table char(10)
as
declare @substr char(10),
@i integer,
@sql nvarchar(1000)

--set @str='abcd'
set @sql='select code from '+@table+' where (len(code)=1 and code like left('+''''+@str+''',1))'
set @i=2
while @i<= len(@str)
begin
set @sql=@sql+' or (len(code)='+cast(@i as char(2))+' and code like left('+''''+@str+''','+cast(@i as char(2))+'))'
set @i=@i+1
end
exec( @sql)

sqlserver中测试通过



insert2003 2004-04-22
  • 打赏
  • 举报
回复
如要查中间带“S”的用
like '*S*'


*---------多个字符匹配
?---------单个字符匹配
insert2003 2004-04-22
  • 打赏
  • 举报
回复
like 'S*'
楚人无衣 2004-04-22
  • 打赏
  • 举报
回复
select * from tblname where left('SABC', len([CODE])) = [CODE]

yuanyu368 2004-04-22
  • 打赏
  • 举报
回复
code in ('s','sa','sab','sabc')
yuanyu368 2004-04-22
  • 打赏
  • 举报
回复
我也顶一下,我也想知道
qingenerp 2004-04-22
  • 打赏
  • 举报
回复
帮你顶一下再说!
ezlz 2004-04-22
  • 打赏
  • 举报
回复
楼上的,不是这样写的,如果code中有一条为'SD',那么,这条就不能在结果集中。
Delphi2C 2004-04-22
  • 打赏
  • 举报
回复
like 'S%'
9fashion 2004-04-22
  • 打赏
  • 举报
回复
不知道

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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