Working with Strings
1.Converting the Lettercases of a String
select thing,upper(thing),lower(thing) from limbs;
upper()和lower()函数可以改变字符串大小写
concat(upper(left(str,1)),mid(str,2))
将字符串str的第一个字符改为大写,其他部分保持不变
注:当这两个函数失效时,原因很可能是它们所操作的对象是二进制串,而二进制串没有字符集和Collation,也没有字母大小写的区别。此时,可以首先将该字符串转换为非二进制串,使其具有字符集和Collation属性,从而可以改变其大小写。
select b,UPPER(convert(b using latin1)) as upper,LOWER(convert(b using latin1)) as lower from t;
为了确定一个表达式(函数)的返回值是否是二进制串,可以使用charset()函数。
select charset(version()),charset(md5('some string'));
2.Pattern Matching with Regular Expressions
select name from metal where name regexp '^co';
以特定子串开头
select name from metal where name regexp 'er$';
以特定子串结尾
select name from metal where name regexp 'er';
含有特定子串
select name from metal where name regexp '^..pp';
特定子串出现在某一位置
[abc]定义了一个集合,它可以与字符a、b、c中任一字符匹配
也可以用-定义集合区间。例如[a-z]定义的模式集合可以与从a到z的任意字符匹配;[0-9]定义的集合与从0到9的任一字符匹配;而[a-z0-9]与所有字符或者数字匹配;
如果要匹配的是所给集合之外的任意字符,可以在方括号内,以^开头定义集合。例如[^0-9]匹配除了数字之外的所有字符。
select name,name regexp '[[:xdigit:]]' from metal;
检查name中是否含有十六进制字符。
select name from metal where name regexp '^[aeiou] | er$';
查询所有以元音字母开头或者以er结尾的name字符串
3.Breaking Apart or Combining Strings
select name,left(name,2),mid(name,3,1),right(name,3) from metal;
left()和right()函数的第二个参数说明所要取得的子串长度。mid()函数的第二个参数说明从第几位开始取出子串,第三个参数说明所要取得的子串长度。
select name,substring(name,4),mid(name,4) from metal;
substring()函数从某个位置开始向右返回整个子串。
select name,substring_index(name,'r',1),substring_index(name,'i',-1) from metal;
使用substring_index(str,c,n)可以返回str中任意指定字符左侧或右侧的整个子串。该函数从str左侧查找字符c第n次出现的位置,然后返回该位置左侧的整个子串。如果n是负数,从str右侧开始查找c第|n|次出现的位置,并返回其右侧的整个子串。
注:如果字符串中没有第n个字符,substring_index()函数将返回整个字符串。另外,该函数是大小写敏感的。
select name from metal where left(name,1) >='n';
包含所有第一个字符大于n的name列值。
select concat('Hello,',USER(),',welcome to MySQL!') as greeting;
select concat(name,'ends in "id":',if(right(name,1)='d','yes','no')) as 'ends in "d"?' from metal;
使用concat()函数,可以将所有作为参数传递给它的字符串串联。
update metal set name=concat(name,'ide');
在metal表中name列的每一个值之后加上字符串ide:
update metal set name=left(name,char_length(name)-3);
删除每一个值最后的三个字母即可,使用char_length()函数来获取字符串长度
4.Searching for Substrings
select name,locate('in',name),locate('in',name,3) from metal;
locate()函数返回字符串中子字符串的第一个出现位置。如若子字符串不在字符串中,则返回值为0.。可选的第三个参数表示字符串中开始进行查找的位置。
Mizrim这个名字一共出现多少次?
select count(*) from kjv where match(vtext) against('Mizrim');
为了使用索引实现一个查询,使用match()函数来指定索引列并且使用against()函数来定义要查询的文本。
alter table tb1_name add fulltext(col1,col2,col3);
如果想使用fulltext同时对多列进行查询,可以在建立索引时指定所有需要被查询的列
select ...from tb1_name where match(col1,col2,col3) against('search string');
为了使用索引进行查询,在match()参数列表中指定所有列
注:对于你想要联合查询的每一列,你都需要一个对应的fulltext索引。
分享到:
相关推荐
- `for`循环:在Sine之舞和FJ的字符串问题中,使用`for`循环进行递归计算或字符串构建。 - 条件判断:在循环内部,使用`if...else`语句来判断和处理不同情况,例如在核桃问题中判断能否整除,Sine之舞中根据索引...
1. FJ 的字符串:FJ 在沙盘上写了这样一些字符串:A1 = “A”、A2 = “ABA”、A3 = “ABACABA”、A4 = “ABACABADABACABA”… …你能找出其中的规律并写所有的数列 AN 吗?该题目考察了Java的字符串处理和算法设计...
微软面试智力题详解 本资源为微软面试智力题,...这些微软面试智力题涵盖了逻辑推理、数学计算、算法设计、数据结构、算法设计、字符串处理等多方面的知识点,旨在考察候选人的逻辑思维能力、数学计算能力和编程能力。
题目描述中提到用户输入以及变量结果的值,根据答案散尽还复来看,这很可能是通过字符串切片技术(如选取字符串的一部分)得到的结果。关键在于理解如何通过编程处理用户的输入并返回部分字符串。 #### 题目17 **...
数据是计算机科学的基础,它是程序处理的核心。"我待数据如初恋,数据虐我千百遍"这句话形象地表达了数据处理过程中的复杂性和挑战。...只有熟练运用这些知识,我们才能更好地与数据共舞,无论它如何“虐”我们。
《与Django共舞1.7》是一本关于如何使用Django 1.7进行Web开发的实用指南。这本书主要面向学生,旨在提供一个全面的教程,涵盖从零开始搭建第一个Web应用程序到将其部署到Web服务器的整个过程。作为一本补充官方...
变量计算与字符串拼接** - **题目描述**: 执行特定脚本后,新建对话框输出的结果是什么? - **答案解析**: 通过重复执行和变量更新,最终输出“3455”。 - **核心知识点**: Scratch中变量的定义、赋值及计算逻辑,...
例如,可以编写脚本来动态生成数据,进行复杂的字符串处理,或调用外部程序。脚本组件则用于数据流中的数据转换,包括源脚本组件(用于提取数据)和目标脚本组件(用于加载数据)。通过VB代码,可以实现数据的自定义...
字符串切片积木,前面的索引值为切片起点,后面的索引值为切片终点,则取目标字符串的1到4个字符,即abcd。 ### 4. 绘制图形 **知识点概述:** Scratch中的画笔积木允许用户绘制各种图形,如直线、圆形、多边形等...
在《学会与D共舞》这本书中,作者们通过第一章介绍了D语言的基础入门知识,帮助初学者快速上手。本章节主要涵盖了D语言的基本概念、安装配置环境以及编写第一个程序等关键步骤。 1. **D语言概述**: - D语言是一种...
5. **链表和字符串**:链表(列表)是存储多个元素的数据结构,可以用来管理角色的造型或者存储音乐的音符序列。字符串是文本数据类型,用于表示文字信息。 6. **时序控制**:在编程中,时序控制是指代码执行的顺序...
【编程之道:与Bug共舞】 编程是一场与Bug的智慧对决,对于许多程序员来说,完成项目的那一刻固然是喜悦的,但真正让人痴迷的往往是解决问题、战胜Bug的过程。在这个过程中,程序员不仅能提升技能,还能体验到解决...
`JSON.parse()`和`JSON.stringify()`用于转换JSON字符串和JavaScript对象。 7. **表单验证**:JavaScript可以实时验证用户在表单中输入的数据,如邮箱格式、密码强度等,防止无效数据提交。 8. **拖放功能**:通过...
24. **matrix.org.cn** - 与Java共舞,高质量的Java专业社区,对.NET开发者也有所启发。 这些网站不仅提供了丰富的学习资源,还构建了开发者之间的交流平台,是开发人员不断提升自身技能和解决问题的重要工具。将...
第十六到第二十章将涵盖字符串处理、IO流、文件操作和线程编程。这些都是Java高级特性,对于处理数据输入输出和实现多任务处理至关重要。 第二十一至二十五章可能包括网络编程、数据库连接(JDBC)和Java Swing或...
《情书:在命令行中与机器人共舞的棋盘游戏》 情书,一款源自日本的轻量级策略游戏,以其简洁的规则和丰富的策略性吸引了众多玩家的喜爱。现在,借助Python编程语言,我们可以在命令行环境中实现与机器人的对弈,...
考生需要理解程序的执行流程,并且能够正确地计算出变量“字符串” 的值。 6. 建立一个查询重名的系统,程序中的空缺处应该依次填写()。 A. B. C. D. 这个问题考察了考生的编程能力和数据处理能力。考生需要...
在这个题目中,我们需要根据输出语句和字符串操作来计算输出的对话。 12. 运如下脚本,对话框输出的是 _______。 知识点:输出语句、条件语句 在这个题目中,我们可以看到输出语句和条件语句的应用。输出语句是...