在sql查询字段中怎么去判断是以某字母开头

有三种类型的题目分别一张表:选择题的题号tlid是以S开头如S01填空题的题号tlid是以B开头如B01简答题的题号tlid是以A开头如A01我想通过对tlid的首字母的... 有三种类型的题目分别一张表:选择题的题号tlid是以S开头如S01
填空题的题号tlid是以B开头如B01
简答题的题号tlid是以A开头如A01
我想通过对tlid的首字母的判断这个题号是什么类型的题并去查相应的表中的题目内容
各位有谁知道怎么实现吗
展开
 我来答
大宝妈谈教育
高粉答主

2020-04-28 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:54.7万
展开全部

方法1:用%即可达到。

例如:SELECT*FROMusersWHEREemaillike"%b@email.com%"。

方法2:使用mysql字符串函数find_in_set();

SELECT*FROMusersWHEREfind_in_set('aa@email.com',email);

注意,mysql字符串函数find_in_set(str1,str2)返回str2中str1的位置索引,str2必须被分割成“,”。

方法3:多值模糊查询,使用mysql正则:REGEXP。

这个方法相当于(比如'%1%'或'%3%'或'%5%')。

从'by_content'中选择*,其中标题REGEXP'(1|,3|5)'。

扩展资料:

Mysql字符串函数:FIND_IN_SET()

语法:

strlistFIND_IN_SET(STR)

第一个参数STR是要查找的字符串。

第二个参数strlist是要搜索的字符串的逗号分隔列表。

如果字符串STR位于由N个子链组成的字符串列表中,则返回值的范围为1到N。

字符串列表是由','符号分隔的子链组成的字符串。如果第一个参数是常量字符串,第二个参数是类型集列,则FIND_IN_SET()函数被优化为使用位。

如果STR不在strlist中,或者strlist是空字符串,则返回值为0。如果任何参数为空,则返回值为空。当第一个参数包含逗号(',')时,此函数将无法正常工作。

antisunny
2018-11-07 · TA获得超过450个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:110万
展开全部
-- 查找以A或B或C开头的基因
SELECT
    id,
    symbol 
FROM
    vdb_gene 
WHERE
    FIND_IN_SET(SUBSTRING(`symbol`,1,1), 'A,B,C')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ledlee
2010-04-10 · 超过14用户采纳过TA的回答
知道答主
回答量:53
采纳率:100%
帮助的人:38.4万
展开全部
substring 函数返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的子字符串
select distinct tlid,题目内容 from 表 where substring(tlid,1,1)=substring('S01',1,1)

至于substring('S01',1,1)里面的S01可以根据你所用的语言来获得
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式