- 浏览: 143043 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
zhang964761032:
学习学习
不可直译的英语 -
illu:
这个很高端。。。
凉皮的做法 -
cindylu520:
我不回答你,你往话里带我。小样。
The lost lady 败犬女 -
lujinan858:
那你是败犬中得胜犬还是胜犬中的败犬呢?嘿嘿
The lost lady 败犬女 -
dunhuacc12:
能给个学习英语的网站么?你这些题是在哪里弄的啊? 最近想补补 ...
20100316英语学习
测试表
CREATE TABLE `string_test` (
`id` int(11) NOT NULL auto_increment COMMENT '用户ID',
`name` varchar(50) NOT NULL default '' COMMENT '名称',
`job` varchar(23) NOT NULL COMMENT '工作',
`sex` tinyint(1) NOT NULL default '1' COMMENT '性别',
`hobby` varchar(100) character set utf8 collate utf8_unicode_ci default NULL COMMENT '爱好',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
测试数据
INSERT INTO `string_test` (`id`, `name`, `job`, `sex`, `hobby`) VALUES
(1, 'tank', '农民工', 1, '军棋,游戏,fishing'),
(2, 'zhang', 'DUCK', 0, 'fly,make firend'),
(3, 'ying', 'no job', 1, 'flying,driving,testing'),
(4, 'tankzhang', 'love your love', 1, 'i love you');
1 | tank | 农民工 | 1 | 军棋,游戏,fishing |
2 | zhang | DUCK | 0 | fly,make firend |
3 | ying | no job | 1 | flying,driving,testing |
4 | tankzhang | love your love | 1 | i love you |
二,mysql字符串操作函数
1,UPPER和UCASE
返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成大写。该函数对多字节是可靠的。
mysql> select name,UPPER(name) from string_test where name='tank'; +------+-------------+ | name | UPPER(name) | +------+-------------+ | tank | TANK | +------+-------------+ 1 row in set (0.00 sec)
2,LOWER和LCASE
返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成小写。该函数对多字节是可靠的。
mysql> select sex,LCASE(job) from string_test where job='DUCK'; +------+------------+ | sex | LCASE(job) | +------+------------+ | 1 | duck | +------+------------+ 1 row in set (0.00 sec)
3,FIND_IN_SET(str,strlist)
如果字符串str在由N子串组成的表strlist之中,返回一个1到N的值。一个字符串表是被“,”分隔的子串组成的一个字符串。如果第一个参数是一个常数字符串并且第二个参数是一种类型为SET的列,FIND_IN_SET()函数被优化而使用位运算!如果str不是在strlist里面或如果strlist是空字符串,返回0。如果任何一个参数是NULL,返回NULL。如果第一个参数包含一个“,”,该函数将工作不正常。看面是二种不同的效果,可以看一下
mysql> SELECT id,name FROM string_test WHERE find_in_set('fly',hobby); +----+-------+ | id | name | +----+-------+ | 2 | zhang | +----+-------+ 1 row in set (0.00 sec) mysql> SELECT id,name FROM string_test WHERE hobby like 'fly%'; +----+-------+ | id | name | +----+-------+ | 2 | zhang | | 3 | ying | +----+-------+ 2 rows in set (0.00 sec)
4,FIELD(str,str1,str2,str3,…)
返回str在str1, str2, str3, …清单的索引。如果str没找到,返回0。FIELD()是ELT()反运算。
mysql> SELECT id, name, FIELD( id, name, sex, job, hobby ) -> FROM string_test where id < 4; +----+-------+------------------------------------+ | id | name | FIELD( id, name, sex, job, hobby ) | +----+-------+------------------------------------+ | 1 | tank | 2 | | 2 | zhang | 0 | | 3 | ying | 0 | +----+-------+------------------------------------+ 3 rows in set (0.00 sec)
5.ELT(N,str1,str2,str3,…)
如果N= 1,返回str1,如果N= 2,返回str2,等等。如果N小于1或大于参数个数,返回NULL。ELT()是FIELD()反运算。
mysql> SELECT id, name, ELT(1, id, name, sex, job, hobby ) FROM string_test where id < 4; +----+-------+------------------------------------+ | id | name | ELT(1, id, name, sex, job, hobby ) | +----+-------+------------------------------------+ | 1 | tank | 1 | | 2 | zhang | 2 | | 3 | ying | 3 | +----+-------+------------------------------------+ 3 rows in set (0.00 sec) mysql> SELECT id, name, ELT(2, id, name, sex, job, hobby ) FROM string_test where id < 4; +----+-------+------------------------------------+ | id | name | ELT(2, id, name, sex, job, hobby ) | +----+-------+------------------------------------+ | 1 | tank | tank | | 2 | zhang | zhang | | 3 | ying | ying | +----+-------+------------------------------------+ 3 rows in set (0.00 sec)
6,REPLACE(str,from_str,to_str)
返回字符串str,其字符串from_str的所有出现由字符串to_str代替。
mysql> SELECT id,REPLACE(hobby,"firend",'living') FROM string_test WHERE id = 2; +----+----------------------------------+ | id | REPLACE(hobby,"firend",'living') | +----+----------------------------------+ | 2 | fly,make living | +----+----------------------------------+ 1 row in set (0.00 sec)
7,REPEAT(str,count)
返回由重复countTimes次的字符串str组成的一个字符串。如果count <= 0,返回一个空字符串。如果str或count是NULL,返回NULL。
mysql> SELECT id,REPEAT(name,2) FROM string_test WHERE id > 1 and id < 4; +----+----------------+ | id | REPEAT(name,2) | +----+----------------+ | 2 | zhangzhang | | 3 | yingying | +----+----------------+ 2 rows in set (0.00 sec)
8,REVERSE(str)
返回颠倒字符顺序的字符串str。
mysql> SELECT id,reverse(name) FROM string_test WHERE id > 1 and id < 4; +----+---------------+ | id | reverse(name) | +----+---------------+ | 2 | gnahz | | 3 | gniy | +----+---------------+ 2 rows in set (0.00 sec)
9,INSERT(str,pos,len,newstr)
返回字符串str,在位置pos起始的子串且len个字符长得子串由字符串newstr代替。
mysql> select id,name,INSERT(hobby,10,6,'living') from string_test where id = 2; +----+-------+-----------------------------+ | id | name | INSERT(hobby,10,6,'living') | +----+-------+-----------------------------+ | 2 | zhang | fly,make living | +----+-------+-----------------------------+ 1 row in set (0.00 sec)
10,SUBSTRING(str FROM pos)
从字符串str的起始位置pos返回一个子串。下面的sub2没有值,因为mysql数据库的下标是从1开始的。
mysql> SELECT id, substring( hobby, 1, 6) AS sub1, substring( hobby from 0 for 8 ) AS sub2,substring( hobby,2) AS sub3, substring( hobby from 4 ) AS sub4 FROM s tring_test WHERE id =4; +----+--------+------+-----------+---------+ | id | sub1 | sub2 | sub3 | sub4 | +----+--------+------+-----------+---------+ | 4 | i love | | love you | ove you | +----+--------+------+-----------+---------+ 1 row in set (0.00 sec)
11,SUBSTRING_INDEX(str,delim,count)
返回从字符串str的第count个出现的分隔符delim之后的子串。如果count是正数,返回最后的分隔符到左边(从左边数) 的所有字符。如果count是负数,返回最后的分隔符到右边的所有字符(从右边数)。
mysql> SELECT id,SUBSTRING_INDEX(hobby,',',2) as test1,SUBSTRING_INDEX(hobby,',' ,-1) as test2 FROM string_test WHERE id = 3; +----+----------------+---------+ | id | test1 | test2 | +----+----------------+---------+ | 3 | flying,driving | testing | +----+----------------+---------+ 1 row in set (0.01 sec)
12,LTRIM(str)
返回删除了其前置空格字符的字符串str。
mysql> SELECT id,LTRIM(job) FROM string_test WHERE id = 4; +----+----------------+ | id | LTRIM(job) | +----+----------------+ | 4 | love your love | +----+----------------+ 1 row in set (0.00 sec)
13,RTRIM(str)
返回删除了其拖后空格字符的字符串str。
mysql> SELECT id,RTRIM(job) FROM string_test WHERE id = 4; +----+----------------+ | id | RTRIM(job) | +----+----------------+ | 4 | love your love | +----+----------------+ 1 row in set (0.00 sec)
14,TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)
返回字符串str,其所有remstr前缀或后缀被删除了。如果没有修饰符BOTH、LEADING或TRAILING给出,BOTH被假定。如果remstr没被指定,空格被删除。
mysql> select trim(' test '); +-----------------+ | trim(' test ') | +-----------------+ | test | +-----------------+ 1 row in set (0.01 sec) mysql> SELECT id,TRIM(LEADING "love" from job) as test1,TRIM(BOTH "love" from jo b) as test2,TRIM(TRAILING "love" from job) as test3 FROM string_test WHERE id = 4 -> ; +----+------------+--------+------------+ | id | test1 | test2 | test3 | +----+------------+--------+------------+ | 4 | your love | your | love your | +----+------------+--------+------------+ 1 row in set (0.00 sec)
15,MID(str,pos,len)
从字符串str返回一个len个字符的子串,从位置pos开始。使用FROM的变种形式是ANSI SQL92语法。
mysql> SELECT id, mid( hobby, 1, 6 ) AS sub1, mid( hobby -> FROM 0 -> FOR 8 ) AS sub2, mid( hobby, 2 ) AS sub3, mid( hobby -> FROM 4 ) AS sub4 -> FROM string_test -> WHERE id =4 ; +----+--------+------+-----------+---------+ | id | sub1 | sub2 | sub3 | sub4 | +----+--------+------+-----------+---------+ | 4 | i love | | love you | ove you | +----+--------+------+-----------+---------+ 1 row in set (0.00 sec) mysql>
16,LPAD(str,len,padstr)
返回字符串str,左面用字符串padstr填补直到str是len个字符长。
mysql> SELECT id,LPAD(name,11,"zhang ") FROM string_test WHERE id = 3; +----+------------------------+ | id | LPAD(name,11,"zhang ") | +----+------------------------+ | 3 | zhang zying | +----+------------------------+ 1 row in set (0.00 sec)
17,RPAD(str,len,padstr)
返回字符串str,右面用字符串padstr填补直到str是len个字符长。
mysql> SELECT id,RPAD(name,11," ying") FROM string_test WHERE id = 2; +----+-----------------------+ | id | RPAD(name,11," ying") | +----+-----------------------+ | 2 | zhang ying | +----+-----------------------+ 1 row in set (0.00 sec)
18,LEFT(str,len)
返回字符串str的最左面len个字符。
mysql> SELECT id,left(job,4) FROM string_test WHERE id = 4; +----+-------------+ | id | left(job,4) | +----+-------------+ | 4 | love | +----+-------------+ 1 row in set (0.00 sec)
19,RIGHT(str,len)
返回字符串str的最右面len个字符。
mysql> SELECT id,right(job,4) FROM string_test WHERE id = 4; +----+--------------+ | id | right(job,4) | +----+--------------+ | 4 | love | +----+--------------+ 1 row in set (0.00 sec)
20,位置控制函数
POSITION(substr IN str)
返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0.
LOCATE(substr,str,pos)
返回子串substr在字符串str第一个出现的位置,从位置pos开始。如果substr不是在str里面,返回0。
INSTR(str,substr)
返回子串substr在字符串str中的第一个出现的位置。这与有2个参数形式的LOCATE()相同,除了参数被颠倒。
mysql> SELECT id,INSTR(job,"you") as instr,LOCATE('love',job,3) as locate,POSITI ON('love' in job) as position FROM string_test WHERE id = 4; +----+-------+--------+----------+ | id | instr | locate | position | +----+-------+--------+----------+ | 4 | 6 | 11 | 1 | +----+-------+--------+----------+ 1 row in set (0.00 sec)
21,得到字符串长度的函数
LENGTH(str),OCTET_LENGTH(str),CHAR_LENGTH(str),CHARACTER_LENGTH(str)
mysql> SELECT id,LENGTH(job) as one,OCTET_LENGTH(job) as two,CHAR_LENGTH(job) as three,CHARACTER_LENGTH(job) as four FROM string_test WHERE id = 4; +----+-----+-----+-------+------+ | id | one | two | three | four | +----+-----+-----+-------+------+ | 4 | 14 | 14 | 14 | 14 | +----+-----+-----+-------+------+ 1 row in set (0.00 sec)
22,合并多个字符串,或者表中的多个字段
CONCAT(str1,str2,…)
返回来自于参数连结的字符串。如果任何参数是NULL,返回NULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。
mysql> SELECT id,CONCAT(name,job,hobby) FROM string_test WHERE id = 4; +----+-----------------------------------+ | id | CONCAT(name,job,hobby) | +----+-----------------------------------+ | 4 | tankzhanglove your lovei love you | +----+-----------------------------------+ 1 row in set (0.00 sec)
23,进制转换
BIN(N)
返回二进制值N的一个字符串表示,在此N是一个长整数(BIGINT)数字,这等价于CONV(N,10,2)。如果N是NULL,返回NULL。
OCT(N)
返回八进制值N的一个字符串的表示,在此N是一个长整型数字,这等价于CONV(N,10,8)。如果N是NULL,返回NULL。
HEX(N)
返回十六进制值N一个字符串的表示,在此N是一个长整型(BIGINT)数字,这等价于CONV(N,10,16)。如果N是NULL,返回NULL。
ASCII(str)
返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。
mysql> select bin(20),oct(20),hex(20),ascii(20); +---------+---------+---------+-----------+ | bin(20) | oct(20) | hex(20) | ascii(20) | +---------+---------+---------+-----------+ | 10100 | 24 | 14 | 50 | +---------+---------+---------+-----------+ 1 row in set (0.02 sec)
转载自:http://blog.51yip.com/mysql/965.html
发表评论
-
SQL例句
2011-11-29 16:34 740--====================简单的查增删改 ... -
mysql统计数据 count函数
2011-07-07 16:55 1012有时数据库经常要统计一些数据 例如根据某一个字段分组后,每组 ... -
MySQL内置函数表,包括字符串函数、数学函数和日期时间函数
2011-01-10 17:32 829字符串函数 ASCII(str) 返回字符串str的第一个 ... -
MySQL字符串函数:字符串截取
2011-01-10 10:05 672MySQL 字符串截取函数:left(), right(), ... -
Oracle、SQL Server、Sybase、MySQL 性能优化
2010-09-21 17:32 797通常写sql语句时,一般不会考虑sql语句的性能如果系统数据量 ... -
MYSQL 新增字段 删除字段 修改字段 级联删除 级联更新
2010-07-17 14:39 1068//添加字段并设置主键ALTER TABLE tabelnam ... -
实体关系用法
2010-07-01 09:51 710一、RelationShip(联系) 1、Depe ... -
Mysql时间格式转换
2010-03-11 11:46 830对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描 ...
相关推荐
合并字符串函数:concat(str1,str2,str3…) 比较字符串大小函数:strcmp(str1,str2) 获取字符串字节数函数:length(str) 获取字符串字符数函数:char_length(str) 字母大小写转换函数:大写:upper(x),ucase(x)...
本文实例讲述了MySQL截取和拆分字符串函数用法。分享给大家供大家参考,具体如下: 首先说截取字符串函数: SUBSTRING(commentid,9) 这个很简单,从第9个字符开始截取到最后。SUBSTRING的参数有三个,最后一个是...
本文实例讲述了PHP常见字符串操作函数与用法。分享给大家供大家参考,具体如下: 一、字符串的格式化 1、字符串的格式化 trim()函数可以去除字符串的开始位置和结束位置的空格,并将结果字符串返回,默认情况下去除...
Linux C字符串替换函数实例详解 最近学习linux 的基础编程知识,字符串替换函数,在网上找下资料,觉得这篇文章写的不错,记录下来,和大家分享一下: 实例代码: #include #include #include /** * * @author...
DATE_FORMAT 函数用于将日期或时间字段格式化为指定的字符串形式。它可以将数据库中存储的日期或时间按照我们需要的格式显示出来。在这篇文章中,我将为您提供关于 DATE_FORMAT 函数的详细介绍,并提供一些实例和...
本文实例讲述了php字符串截取函数mb_substr用法。分享给大家供大家参考,具体如下: string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )-截取...
如何使用PHP中的正则表达式 如何使用PHP中的字符串函数 如何用PHP实现文件上载(实例2) 如何用PHP实现网页动态跳转 如何用 PHP 实现文件上传(实例1) 如何用 PHP 文件操作函数 如何用 PHP 在 mySQL 中创建数据库表 ...
MySQL字符串相信大家都不陌生,在MySQL字符串排序时经常会遇到一些问题,比如下面要介绍的这个 今天解决了一个关于MySQL字符串排序的很奇怪的问题,在数据里面定义的是varchar类型,实际存放的是Int类型的数据,按一下...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
php将字符串转换为数组 在php中通过使用“explode...此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。 explode参数 delimiter: 边界上的分隔字符。 st
#字符串拼接 concat(s1,s2); 将表中last_name和first_name中的字符串拼接 select concat(last_name,first_name) as 姓名 from employees; #只会修改last_name不会修改first_name SELECT first_name,last_name AS ...
12.3. 字符串函数 12.3.1. 字符串比较函数 12.4. 数值函数 12.4.1. 算术操作符 12.4.2. 数学函数 12.5. 日期和时间函数 12.6. MySQL使用什么日历? 12.7. 全文搜索功能 12.7.1. 布尔全文搜索 12.7.2. 全文搜索带查询...
//连接字符串 默认Key private string connectionString; private string providerName; #endregion #region 构造函数 /// <summary> /// 默认构造函数(DbHelper) /// </summary> public MySqlDbHelper() { this....
MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度 5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符...
实例4 删除字符串中的空白 实例5 字符串反转 实例6 字符串加密 实例7 检查日期的有效性 实例8 简单猜数游戏 实例9 验证信用卡号 实例10 计算两个数组并、交和差 实例11 数组排序 第2章 PHP文件实例 实例12 获取文件...
实例4 删除字符串中的空白 实例5 字符串反转 实例6 字符串加密 实例7 检查日期的有效性 实例8 简单猜数游戏 实例9 验证信用卡号 实例10 计算两个数组并、交和差 实例11 数组排序 第2章 PHP文件实例 实例12 ...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
主要介绍了MYSQL自定义函数判断是否正整数 的实例代码,主要是使用正则表达式来判断,具体实例代码大家跟随小编一起通过本文学习吧