首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 求一sql语句,望大家帮忙! [已结贴,结贴人:gjs_w]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-15 17:35:32 楼主
    现有一表tabel1其中有一字段f1,数据格式为以逗号连接的字符串,例如:a,b,c

    我想查询f1字段中以逗号分隔的任意字符包含在某一字符串s1(数据格式也是以逗号连接的字符串,不过每个元素前后都连接一个逗号,例如:,a,,c,,d,,)中的记录。

    不知这个条件语句应该怎样写呢,或者一条语句不能实现用存储过程怎样实现呢,请各位帮忙简单写一下,先谢了!
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liuyann
    • 等级:
    发表于:2008-03-15 19:18:261楼 得分:10
    SQL code
    select * from table1 where f1 like '%b,c%';
    == 思想重于技巧 ==
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-15 23:41:582楼 得分:20
    意思是这样吗?不知道理解的对不对:
    table中f1的内容:
    1  a,b,c 
    2  b,c 
    3  a,b,c,e, 
    4  c,d
    字符串s1的内容: ,a,b,c,d,

    想查出的结果有:
    1  a,b,c   
    2  b,c
    4  c,d
    因为以上字串被 ,a,b,c,d,包含。。。。对吗?

    如果这样的话, 可以试试:
    select * from table1 where instr(f1, s1)>0

    还有一种比较笨的方法:
    select * from table1 where f1 in ('a,b','b,c','c,d','a,b,c','b,c,d')
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-16 22:20:413楼 得分:20
    需要写个存储过程或者函数来处理。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 09:24:574楼 得分:0
    to:shyming

    你的理解不对,例如:
    table中f1的内容:
    1  a,b,c 
    2  b,c   
    3  a,b,c,e,   
    4  c,d
    5  c,f
    6  e,f
    字符串s1的内容: ,a,b,c,d,

    查出的结果有:
    1  a,b,c 
    2  b,c   
    3  a,b,c,e,   
    4  c,d
    5  c,f
    因为以上字符串中的有字符被 ,a,b,c,d,包含

    不知你理解我的意思没有,请大家帮帮我,希望楼上的bzszp能帮我简单写一写好吗,谢谢了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-17 11:06:065楼 得分:0
    呵呵,问题解决了,写个函数来处理一下就可以了。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved