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索引。
分享到:
相关推荐
编写程序:从键盘上输入一个包含10个字符的字符串,把该字符串与程序中给定的字符串("bacdbcabca") //依次比较,统计两个字符串对应字符相等的数目。然后输出从键盘上输入的字符串, //并把两个字符串中对应字符不...
C#字符串删除指定字符串|C#字符串删除子字符串
易语言十六进制与字符串转换源码,十六进制与字符串转换,字符串到十六进制线程,十六进制到字符串线程
java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...
* 使用一个字符串分割另一个字符串 * * @param delimiter 边界上的分隔字符 * @param haystack 输入的字符串 * @param out 输出的字符串指针 * @return 分割成了多少个成员 */ int explode(char *delimiter, ...
本文实例讲述了javascript实现的字符串与十六进制表示字符串相互转换方法。分享给大家供大家参考。具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6...
Delphi 7.0 提取字符串中指定子字符串后的字符串,这个平时在字符处理时候使用几率也挺高的,获取指定字符串后面的字符串,比如获取扩展名等也可以用此方法,本例中要用到After函数,测试时,当单击按钮时,执行以下...
字符串 介绍 字符串 介绍 字符串 介绍 字符串 介绍
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
字符串比较、求串的长度、判断串是否为空、将串置空、字符串赋值(包括两个字符串类复制,一个字符串赋值到CmyString对象)、求字符串中的一个字符或改变字符串中的一个字符(采用重载[]),完成串的赋值与合并...
纯C语言实现字符串拆分操作,把字符串拆分成字符串数组,然后再输出。 使用sstream方法,作为底层驱动操作实现非常方便。
求两个字符串的最长公共字符串 输出全部位置信息,并输出字符串,相同字符串先输出所有位置信息在输出字符串 测试平台:XP/VS 2008 CN
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。 方法二:match() var str = "123" var reg = RegExp(/3/); if(str.match(reg)){ //包含; } ...
一个关于字符串匹配的算法,已经经过编译,希望对你有帮助
易语言字符串操作源码,字符串操作,字符串_取长度,字符串_取中间,字符串_取左边,字符串_取右边,字符串_替换,到宽字符,到多字节,取文本数据地址,取字节集数据地址,MultiByteToWideChar,WideCharToMultiByte
串口接收字符串控制LED。通过STM32 串口1 接收字符串实现LED控制,程序通过判断\n识别字符串是否发送完成,所以串口调试助手上需勾选发送新行,发送LED1+ON点亮LED1,发送LED1+OFF关闭LED1
本文实例讲述了C#判断字符串是否存在字母及字符串中字符的替换的方法。分享给大家供大家参考。具体实现方法如下: 首先要添加对命名空间“using System.Text.RegularExpressions;”的引用 下面以一个字符串为例: ...
JAVA日期与字符串的转换 1) 将一个Date类型的变量转换为字符串 2) 将一个字符串转换Date类型的变量
输入一个字符串参数,返回该字符串的反序字符串