MySQL中的字符串比较函数

根据,MySQL 会自动将数字转化为字符串,反之亦然。

mysql> SELECT 1+'1';
-> 2
mysql> SELECT CONCAT(2,' test');
-> '2 test'

若想要将数字明确地转化为字符串,可使用 CAST()或 CONCAT()函数:

mysql> SELECT 38.8, CAST(38.8 AS CHAR);
-> 38.8, '38.8'
mysql> SELECT 38.8, CONCAT(38.8);
-> 38.8, '38.8'

CAST() 比较可取。

若已经对一个字符串函数给定一个二进制字符串作为参数, 则所得到的结果字符串也是一个二进制字符串。一个转化为字符串的数字被作为二进制字符串对待。这仅会对比较结果产生影响。

一般而言, 若字符串比较中任意一个表达式是区分大小写的,则执行比较时也区分大小写。

◆ expr LIKE pat [ESCAPE 'escape-char']

模式匹配,使用SQL简单正规表达式比较。返回1 (TRUE) 或 0 (FALSE)。 若 expr 或 pat 中任何一个为 NULL,则结果为 NULL。

模式不需要为文字字符串。例如,可以被指定为一个字符串表达式或表列。

在模式中可以同LIKE一起使用以下两种通配符:

mysql> SELECT 'David!' LIKE 'David_';
-> 1
mysql> SELECT 'David!' LIKE '%D%v%';
-> 1

若要对通配符的文字实例进行检验, 可将转义字符放在该字符前面。如果没有指定 ESCAPE字符, 则假设为‘’。

mysql> SELECT 'David!' LIKE 'David_';
-> 0
mysql> SELECT 'David_' LIKE 'David_';
-> 1

时间: 2024-11-01 13:51:06

MySQL中的字符串比较函数的相关文章

mysql中为什么 字符串a1 满足 regepx ‘[1-9]’

问题描述 mysql中为什么 字符串a1 满足 regepx '[1-9]' mysql中为什么 字符串a1 满足 regepx '[1-9]',谢谢! 解决方案 因为你没有加^$,想确切的验证1-9哪的这么写'^[1-9]$'

mysql中删除字符串或字段中空格函数

在mysql中提供了ltrim,rtrim函数来删除字符的首毛空格那么如果我要删除字符如"abc fdsa"应该如何做来,下面我们来看教程 ltrim 函数 代码如下  mysql> select concat('.', ltrim(' ddd '), '.'); rtrim函数 代码如下  mysql> select concat('.', rtrim(' ddd '), '.'); trim 字符串函数,实在是强大.它不仅能消除字符串首尾部的空格,还可以消除我们指定的任

php中常用字符串比较函数

substr_compare() 函数从指定的开始长度比较两个字符串. 该函数返回: 0 - 如果两字符串相等 <0 - 如果 string1 (从开始位置)小于 string2 >0 - 如果 string1 (从开始位置)大于 string2 语法 substr_compare(string1,string2,startpos,length,case) */ $str1="hello world";          //定义字符串1 $str2="hello

mysql中concat()字符串连接函数用法

CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL.  例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col) Mysql查询日期和时间:  代码如下 复制代码 mysql> select concat(CURDATE() , ' ' ,CURTIME()); +------------------------------------+ | concat(CURDATE() ,

mysql中取字符串中的数字的语句_Mysql

复制代码 代码如下: one: declare @s varchar(20) declare @i varchar(20) set @i='' set @s='新会员必须购买350元产品' while PATINDEX ('%[0-9]%', @s)>0 begin set @i=@i+substring(@s,PATINDEX ('%[0-9]%', @s),1) set @s=stuff(@s,1,PATINDEX ('%[0-9]%', @s),'') end select @i -- 3

MySql中substring字符串截取函数用法

用法: SUBSTRING(str,pos,len) SUBSTRING(str FROM pos FOR len) SUBSTRING(str,pos) SUBSTRING(str FROM pos) 别名SUBSTR 截取字符串str从pos开始长度为len的字符串,如果不设置len参数默认获取pos以后的所有内容 注意字符串的索引是从1开始. 如果pos为负数则从字符串的后面开始截取. 1.截取pos后所有的数据  代码如下 复制代码 mysql> select substring('my

MySQL中字符串函数详解

字符串或串(String)是由零个或多个字符组成的有限序列.一般记为 s='a1a2•••an'(n>=0).它是编程语言中表示文本的数据类型. 通常以串的整体作为操作对象,如:在串中查找某个子串.求取一个子串.在串的某个位置上插入一个子串以及删除一个子串等.两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等.设p.q是两个串,求q在p中首次出现的位置的运算叫做模式匹配.串的两种最基本的存储方式是顺序存储方式和链接存储方式. 下面我们来看看MySQL中的字符串函数 假如结果的长

MySQL中字符串函数详细介绍_Mysql

符串或串(String)是由零个或多个字符组成的有限序列.一般记为 s='a1a2•••an'(n>=0).它是编程语言中表示文本的数据类型. 通常以串的整体作为操作对象,如:在串中查找某个子串.求取一个子串.在串的某个位置上插入一个子串以及删除一个子串等.两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等.设p.q是两个串,求q在p中首次出现的位置的运算叫做模式匹配.串的两种最基本的存储方式是顺序存储方式和链接存储方式. 下面我们来看看MySQL中的字符串函数 假如结果的长度

ado-从mysql中以字符串形式取数据

问题描述 从mysql中以字符串形式取数据 ado 连接取数据库里面数据时,以字符串形式取出数据,所有数据都按字符串形式取.有没有这类函数 解决方案 你讲数据取出来然后转换成字符串类型不就可以了. 解决方案二: 你可以判断类型呀.从数据库中拿到数据,判断一下它的类型,然后全部转换成字符串类型. 解决方案三: JAVA中有一个,查询到的ResultSet取数据的时候可以使用getString(int columnIndex)方法来将对应的列数据转换成字符串. 解决方案四: MySqlDataRea