当前位置:文档之家› mysql常用字符串操作函数大全,以及实例解读

mysql常用字符串操作函数大全,以及实例解读

mysql常用字符串操作函数大全,以及实例解读
mysql常用字符串操作函数大全,以及实例解读

mysql常用字符串操作函数大全,以及实例

今天在论坛中看到一个关于mysql的问题,问题如下

good_id cat_id

12654 665,569

12655 601,4722

goods_id是商品id

cat_id是分类id

当我,怎么根据这种分类ID查数据(一个商品有多个分类,而且用逗号隔开了)

我现在用的是like 这样的话,输入一个分类id是688,或者4722都能出来这个商品,但输入一个722也出来这个商品了。

如果用like做的话,肯定会有问题的,我的开始的想法是,把cat_id里面的字符串换成数组,这样可以利用mysql里面的in操作,这样就不会出现查找722,而4722类别下的产品都跑出来了。我从网上找了半天,这方面的字符串操作函数,没找到,不过我发现了find_in_set这个函数虽然不能,将字符串转换成数组,但是也不会出现上面的情况。我发现自己有好多函数不知道,所以我从手册中,以及网上收集了半天,做了一些例子。

一,测试准备

查看复制打印?

1.测试表

2.CREATE TABLE `string_test` (

3. `id` int(11) NOT NULL auto_increment COMMENT '用户ID',

4. `name` varchar(50) NOT NULL default '' COMMENT '名称',

5. `job` varchar(23) NOT NULL COMMENT '工作',

6. `sex` tinyint(1) NOT NULL default '1' COMMENT '性别',

7. `hobby` varchar(100) character set utf8 collate utf8_unicode_ci default NUL

L COMMENT '爱好',

8. PRIMARY KEY (`id`)

9.) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

10.

11.测试数据

12.INSERT INTO `string_test` (`id`, `name`, `job`, `sex`, `hobby`) VALUES

13.(1, 'tank', '农民工', 1, '军棋,游戏,fishing'),

14.(2, 'zhang', 'DUCK', 0, 'fly,make firend'),

15.(3, 'ying', 'no job', 1, 'flying,driving,testing'),

16.(4, 'tankzhang', 'love your love', 1, 'i love you');

测试表

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'),

二,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 |

C字符串处理函数全

strcpy(char destination[], const char source[]); strcpy:将字符串source拷贝到字符串destination中。 strcpy函数应用举例 原型:strcpy(char destination[], const char source[]); 功能:将字符串source拷贝到字符串destination中 例程: #include #include void main(void) { char str1[10] = { "TsinghuaOK"}; char str2[10] = { "Computer"}; cout < #include void main(void) { char str1[10] = { "Tsinghua "}; char str2[10] = { "Computer"}; cout <

常用MySQL语句大全

MySQL服务的配置和使用 修改MySQL管理员的口令:mysqladmin –u root password 密码字符串 如:mysqldmin –u root password 111111 连接MySQL服务器,使用命令:mysql [-h 主机名或IP地址] [-u 用户名] [-p] 如:mysql –u root –p 如已有密码需修改root密码用命令: mysqladmin –u root –p password 新密码字符串 如:mysqladmin –u root –p password 111111 创建数据库格式为:CREATE DATABASE 数据库名称; 如:mysql>create database abc; 默认创建数据库保存在/var/lib/mysql中 查看数据库是 mysql>show abc; 选择数据库是 USE 数据库名称; 如:mysql>use abc; 删除数据库是 DROP DATABASE 数据库名称;如:mysql>drop database abc; 数据库的创建和删除 创建表是CREATE TABLE 表名称(字段1,字段2,…[表级约束]) [TYPE=表类型]; 其中字段(1,2 )格式为:字段名字段类型[字段约束] 如创建一个表student,如下: mysql>create table student ( sno varchar(7) not null, 字段不允许为空 sname varchar (20 )not null, ssex char (1) default …t?, sbirthday date, sdepa char (20), primary key (sno) 表的主键 ); 可用describe命令查看表的结构。 默认表的类型为MYISAM,并在/var/lib/mysql/abc 目录下建立student.frm(表定

MySQL函数大全

1、字符串函数 ascii(str) 返回字符串str的第一个字符的ascii值(str是空串时返回0) mysql> select ascii('2'); -> 50 mysql> select ascii(2); -> 50 mysql> select ascii('dete'); -> 100 ord(str) 如果字符串str句首是单字节返回与ascii()函数返回的相同值。 如果是一个多字节字符,以格式返回((first byte ascii code)*256+(second byte ascii code))[*256+third byte asciicode...] mysql> select ord('2'); -> 50 conv(n,from_base,to_base) 对数字n进制转换,并转换为字串返回(任何参数为null时返回null,进制范围为2-36进制,当to_base是负数时n作为有符号数否则作无符号数,conv以64位点精度工作) mysql> select conv("a",16,2); -> '1010' mysql> select conv("6e",18,8); -> '172' mysql> select conv(-17,10,-18); -> '-h' mysql> select conv(10+"10"+'10'+0xa,10,10); -> '40' bin(n) 把n转为二进制值并以字串返回(n是bigint数字,等价于conv(n,10,2)) mysql> select bin(12); -> '1100' oct(n) 把n转为八进制值并以字串返回(n是bigint数字,等价于conv(n,10,8)) mysql> select oct(12); -> '14' hex(n) 把n转为十六进制并以字串返回(n是bigint数字,等价于conv(n,10,16)) mysql> select hex(255);

常用函数大全

常用函数大全 mysql_affected_rows
mysql_affected_rows — 取得前一次 MySQL 操作所影响的记录行数 mysql_fetch_array —从结果集中取得一行作为关联数组或数字数组或二者兼 有:
mysql_fetch_array($result, MYSQL_NUM) , MYSQL_NUM 可用 MYSQL_BOTH 或
MYSQL_ASSOC 代替,也可以不写,默认为 MYSQL_BOTH
mysql_fetch_row — 从结果集中取得一行作为枚举数组: mysql_fetch_row($result); mysql_fetch_assoc($result)
mysql_fetch_row()从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果 的列储存在一个数组的单元中,偏移量从 0 开始。 依次调用 mysql_fetch_row()将返回结果集中的下一行,如果没有更多行则返回 FALSE。 mysql_fetch_assoc — 从结果集中取得一行作为关联数组 :
mysql_fetch_assoc() 和用 mysql_fetch_array() 加上第二个可选参数 MYSQL_ASSOC 完全相同。它 仅仅返回关联数组。这也是 mysql_fetch_array()起初始的工作方式。如果在关联索引之外还需要数字 索引,用 mysql_fetch_array()。 如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,要么用 mysql_fetch_row()来取得数字索引或给该列起个别名。参见 mysql_fetch_array() 例子中有关别名说 明。 有一点很重要必须指出,用 mysql_fetch_assoc()并不明显 比用 mysql_fetch_row()慢,而且还提供了 明显更多的值。
mysql_query()
仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,
如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query()在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明 任何有关影响到的或返回的行数。 很有可能一条查询执行成功了但并未影响到或并未返回任何行。

各种字符串处理函数示例(基本)

示例 1.字符串输出示例。 程序: #include void main(void) { char str[25]={"Welcome to our city!"}; puts(str); puts("Thank you!"); } 结果: 2.字符串输入实例。(注意比较gets与scanf和puts与printf的区别)程序: #include void main(main) { char str[20]; gets(str); puts(str); printf("*********\n"); scanf("%s",str); puts(str); } 结果: 3.测字符串长度函数strlen()的使用。 程序: #include #include void main(main) { char a[10]="program";

int x,y; x=strlen(a); y=strlen("abc13"); printf("%d\n%d\n\n",x,y); } 结果: 4.字符串连接函数的使用。 程序: #include #include void main(main) { char s1[20]="Hello",s2[6]="Word"; puts(s1); puts(s2); strcat(s1,s2); printf("%s\n",s1); } 结果: 修改后 程序: #include #include void main(main) { char s1[5]="Hello",s2[6]="Word"; puts(s1); puts(s2); strcat(s1,s2); printf("%s\n",s1); } 结果:

【IT专家】MySQL高级查询函数(单行函数)

本文由我司收集整编,推荐下载,如有疑问,请与我司联系 MySQL高级查询函数(单行函数) 2017/03/20 737 函数的分类:1,单行函数:对每一条记录输入值进行计算,得到相应的计算结果,返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果。2,多行函数:对多条记录输入值进行计算,得到多条记录对应的单个结果。 ?单行函数: ?①:字符串函数(用户处理单行的字符数据,比如大小写转换,字符串截取,拼装等) ?a.LOWER/UPPER(LOWER(str):返回字符串str变为小写字母的字符 串.UPPER(str):返回字符串str变为大写字母的字符串) SELECT UPPER(name) FROM student; //全部大写SELECT LOWER(name) FROM student; //全部小写b.CONCAT: CONCAT(str1,str2,...): 1,返回结果为连接参数产生的字符串。 2,如有任何一个参数为NULL ,则返回值为NULL 3,允许有一个或多个参数 SELECT name,age, CONCAT(name,’-’,age) FROM student;运行的结果为: ?c.INSERT:把指定(位置,长度)的子字符串替换成目标字符串 ?格式:INSERT(str,pos,len,newstr) 参数:str:(源字符串) pos:(开始插入的位置,索引从1开始) len:(替换字符串的长度) newstr:(待插入的字符串) 1,返回字符串str, 其子字符串起始于pos 位置和长度被字符串newstr取代的len 字符。2,如果pos 超过字符串长度,则返回值为原始字符串。3,假如len的长度大于其它字符串的长度,则从位置pos开始替换。4,若任何一个参数为null,则返回值为NULL示例:替换用户名名的部分字符,规则如下:保留用户名前2位,中间3位使用*代替,如果姓名还有多余的字符,保留 SELECT INSERT(name,2,3,’***’) FROM student;运行的结果为: ?d.①LENGTH:字符串所占用的字节数

mysql的日期和时间函数

mysql的日期和时间函数 这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。mysql> SELECT something FROM tbl_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; DAYOFWEEK(date) 返回 date 的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的标准。mysql> SELECT DAYOFWEEK(’1998-02-03’); -> 3 WEEKDAY(date) 返回 date 的星期索引(0 = Monday, 1 = Tuesday, ... 6 = Sunday): mysql> SELECT WEEKDAY(’1998-02-03 22:23:00’); -> 1 mysql> SELECT WEEKDAY(’1997-11-05’); -> 2 DAYOFMONTH(date) 返回 date 是一月中的第几天,范围为 1 到 31: mysql> SELECT DAYOFMONTH(’1998-02-03’); -> 3 DAYOFYEAR(date) 返回 date 是一年中的第几天,范围为 1 到 366: mysql> SELECT DAYOFYEAR(’1998-02-03’); -> 34 MONTH(date) 返回 date 中的月份,范围为 1 到 12: mysql> SELECT MONTH(’1998-02-03’); -> 2 DAYNAME(date) 返回 date 的星期名: mysql> SELECT DAYNAME("1998-02-05"); -> ’Thursday’ MONTHNAME(date) 返回 date 的月份名: mysql> SELECT MONTHNAME("1998-02-05"); -> ’February’ QUARTER(date) 返回 date 在一年中的季度,范围为 1 到 4:

VB常用字符串操作函数解读

VB常用字符串操作函数2009/11/25 18:321. ASC(X,Chr(X:转换字符字符码[格式]: P=Asc(X 返回字符串X的第一个字符的字符码 P=Chr(X 返回字符码等于X的字符 [范例]:(1P=Chr(65 ‘ 输出字符A,因为A的ASCII码等于65 (2P=Asc(“A” ‘ 输出65 2. Len(X:计算字符串X的长度 [格式]: P=Len(X [说明]:空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算 一个字符。 [范例]: (1 令X=”” (空字符串 Len(X 输出结果为0 (2 令X=”abcd” Len(X 输出结果为4 (3 令X=”VB教程” Len(X 输出结果为4 3. Mid(X函数:读取字符串X中间的字符 [格式]: P=Mid(X,n 由X的第n个字符读起,读取后面的所有字符。 P=Mid(X,n,m 由X的第n个字符读起,读取后面的m个字符。 [范例]: (1 X=”abcdefg” P=Mid(X,5 结果为:P=”efg” (2 X=”abcdefg” P=Mid(X,2,4 结果为 P=”bcde” 4. R eplace: 将字符串中的某些特定字符串替换为其他字符串 [格式]: P=Replace(X,S,R [说明]:将字符串X中的字符串S替换为字符串R,然后返回。[范例]:X=”VB is very good” P=Replace(X,good,nice 输出结果为:P=”VB is very nice” 5. StrReverse:反转字符串 [格式]: P=StrReverse(X [说明]:返回X参数反转后的字符串 [范例]:(1)X=”abc” P=StrReverse(X 输出结果:P=”cba” 6. Ucase(X,Lcase(X:转换英文字母的大小写 [格式]:P=Lcase(X ‘ 将X字符串中的大写字母转换成小写P=Ucase(X ‘ 将X字符串中的小写字母转换成大写 [说明]:除了英文字母外,其他字符或中文字都不会受到影响。 [范例]:(1)令X=”VB and VC” 则Lcase(X的结果为”vb and vc”,Ucase(X的结果为”VB AND VC” 7. InStr函数:寻找字符串 [格式]: P=InStr(X,Y 从X第一个字符起找出Y出现的位置 P=InStr(n,X,Y 从X第n个字符起找出Y出现的位置 [说明]:(1)若在X中找到Y,则返回值是Y第一个字符出现在X中的位置。(2) InStr(X,Y相当于 InStr(1,X,Y。(3)若字符串长度,或X为空字符串,或在X中找不到Y,则都 返回0。(4)若Y为空字符串,则返回0。 ---------------------------------------------------------------------------------------------- mid(字符串,从第几个开始,长度 ByRef 在[字符串]中[从第几个开始]取出[长度个字符串] 例如 mid("小欣无敌",1,3 则返回 "小欣无" instr(从第几个开始,字符串1,字符串2 ByVal 从规定的位置开始查找,返回字符

常用函数 类参考

全局函数1、common.func.php 公用函数 获得当前的脚本网址 function GetCurUrl() 返回格林威治标准时间 function MyDate($format='Y-m-d H:i:s',$timest=0) 把全角数字转为半角 function GetAlabNum($fnum) 把含HTML的内容转为纯text function Html2Text($str,$r=0) 把文本转HTML function Text2Html($txt) 输出Ajax头 function AjaxHead() 中文截取2,单字节截取模式 function cn_substr($str,$slen,$startdd=0) 把标准时间转为Unix时间戳 function GetMkTime($dtime) 获得一个0000-00-00 00:00:00 标准格式的时间 function GetDateTimeMk($mktime) 获得一个0000-00-00 标准格式的日期 function GetDateMk($mktime) 获得用户IP function GetIP() 获取拼音以gbk编码为准 function GetPinyin($str,$ishead=0,$isclose=1)

dedecms通用消息提示框 function ShowMsg($msg,$gourl,$onlymsg=0,$limittime=0) 保存一个cookie function PutCookie($key,$value,$kptime=0,$pa="/") 删除一个cookie function DropCookie($key) 获取cookie function GetCookie($key) 获取验证码 function GetCkVdValue() 过滤前台用户输入的文本内容 // $rptype = 0 表示仅替换html标记 // $rptype = 1 表示替换html标记同时去除连续空白字符// $rptype = 2 表示替换html标记同时去除所有空白字符// $rptype = -1 表示仅替换html危险的标记 function HtmlReplace($str,$rptype=0) 获得某文档的所有tag function GetTags($aid) 过滤用于搜索的字符串 function FilterSearch($keyword) 处理禁用HTML但允许换行的内容 function TrimMsg($msg) 获取单篇文档信息 function GetOneArchive($aid)

C++字符串函数详解

C++字符串函数详解 //将dest前面count个字符置为字符c. //返回dest的值. void *memset(void *dest, int c, size_t count); //从src复制count字节的字符到dest. 如果src和dest出现重叠, 函数会自动处理. //返回dest的值. void *memmove(void *dest, const void *src, size_t count); //从src复制count字节的字符到dest. 与memmove功能一样, 只是不能处理src和dest出//现重叠. //返回dest的值. void *memcpy(void *dest, const void *src, size_t count); //在buf前面count字节中查找首次出现字符c的位置. 找到了字符c或者已经搜寻了count //个字节, 查找即停止. //操作成功则返回buf中首次出现c的位置指针, 否则返回NULL. void *memchr(const void *buf, int c, size_t count); //从src复制0个或多个字节的字符到dest. 当字符c被复制或者count个字符被复制时, 复//制停止. //如果字符c被复制, 函数返回这个字符后面紧挨一个字符位置的指针. 否则返回NULL. void *_memccpy(void *dest, const void *src, int c, size_t count); //比较buf1和buf2前面count个字节大小. //返回值< 0, 表示buf1小于buf2; //返回值为0, 表示buf1等于buf2; //返回值> 0, 表示buf1大于buf2. int memcmp(const void *buf1, const void *buf2, size_t count); //比较buf1和buf2前面count个字节. 与memcmp不同的是, 它不区分大小写. //返回值同上. int memicmp(const void *buf1, const void *buf2, size_t count); //获取字符串长度, 字符串结束符NULL不计算在内. //没有返回值指示操作错误. size_t strlen(const char *string); //将字符串string中的字符顺序颠倒过来. NULL结束符位置不变. //返回调整后的字符串的指针. char *strrev(char *string);

mysql内置函数表

MySQL内置函数表(包括字符串函数、数学函数和日期时间函数) _____________________________________________________________________ ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('2'); -> 50 mysql> select ASCII(2); -> 50 mysql> select ASCII('dete'); -> 100 _____________________________________________________________________ ORD(str) 如果字符串str句首是单字节返回与ASCII()函数返回的相同值。 如果是一个多字节字符,以格式返回((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...] mysql> select ORD('2'); -> 50 _____________________________________________________________________ CONV(N,from_base,to_base) 对数字N进制转换,并转换为字串返回(任何参数为NULL时返回NULL,进制范围为2-36进制,当to_base是负数时N作为有符号数否则作无符号数,CONV以64位点精度工作) mysql> select CONV("a",16,2); -> '1010' mysql> select CONV("6E",18,8); -> '172' mysql> select CONV(-17,10,-18); -> '-H' mysql> select CONV(10+"10"+'10'+0xa,10,10); -> '40' _____________________________________________________________________ BIN(N) 把N转为二进制值并以字串返回(N是BIGINT数字,等价于CONV(N,10,2)) mysql> select BIN(12); -> '1100' OCT(N) 把N转为八进制值并以字串返回(N是BIGINT数字,等价于CONV(N,10,8)) mysql> select OCT(12); -> '14' _____________________________________________________________________ HEX(N) 把N转为十六进制并以字串返回(N是BIGINT数字,等价于CONV(N,10,16)) mysql> select HEX(255); -> 'FF'

MySQL常用函数

一、数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e(自然对数的底)的x次方 FLOOR(x) 返回小于x的最大整数值 GREATEST(x1,x2,...,xn)返回集合中最大的值 LEAST(x1,x2,...,xn) 返回集合中最小的值 LN(x) 返回x的自然对数 LOG(x,y)返回x的以y为底的对数 MOD(x,y) 返回x/y的模(余数) PI()返回pi的值(圆周率) RAND()返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。 ROUND(x,y)返回参数x的四舍五入的有y位小数的值 SIGN(x) 返回代表数字x的符号的值 SQRT(x) 返回一个数的平方根 TRUNCATE(x,y) 返回数字x截短为y位小数的结果 二、聚合函数(常用于GROUP BY从句的SELECT查询中) AVG(col)返回指定列的平均值 COUNT(col)返回指定列中非NULL值的个数 MIN(col)返回指定列的最小值 MAX(col)返回指定列的最大值 SUM(col)返回指定列的所有值之和 GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果 三、字符串函数 ASCII(char)返回字符的ASCII码值 BIT_LENGTH(str)返回字符串的比特长度 CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串 CONCAT_WS(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并用sep字符间隔 INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果 FIND_IN_SET(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为小写后的结果 LEFT(str,x)返回字符串str中最左边的x个字符 LENGTH(s)返回字符串str中的字符数

MYSQL内置函数大全

mysql内置函数大全 ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql>select ASCII('2'); ->50 mysql>select ASCII(2); ->50 mysql>select ASCII('dete'); ->100 ORD(str) 如果字符串str句首是单字节返回与ASCII()函数返回的相同值。如果是一个多字节字符,以格式返回((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...] mysql>select ORD('2'); ->50 CONV(N,from_base,to_base) 对数字N进制转换,并转换为字串返回(任何参数为NULL时返回NULL,进制范围为2-36进制,当to_base是负

数时N作为有符号数否则作无符号数,CONV以64位点精度工作) mysql>select CONV("a",16,2); ->'1010' mysql>select CONV("6E",18,8); ->'172' mysql>select CONV(-17,10,-18); ->'-H' mysql>select CONV(10+"10"+'10'+0xa,10,10); ->'40' BIN(N) 把N转为二进制值并以字串返回(N是BIGINT数字,等价于CONV(N,10,2)) mysql>select BIN(12); ->'1100' OCT(N) 把N转为八进制值并以字串返回(N是BIGINT数字,等价于CONV(N,10,8)) mysql>select OCT(12); ->'14' HEX(N)

acm常用字符串处理函数

sstrstr与strchar用法 原型:extern char *strstr(char *haystack, char *needle); 用法:#include 功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。 说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。 举例: #include #include main() { char *s="Golden Global View"; char *l="lob"; char *p; clrscr(); p=strstr(s,l); if(p) printf("%s",p); else printf("Not Found!"); getchar(); return 0; } 语法:int strstr(str1,str2) str1: 被查找目标string expression to search. str2:要查找对象The string expression to find. 该函数返回str2第一次在str1中的位置,如果没有找到,返回NULL The strstr() function returns the ordinal position within str1 of the first occurrence of str2. If str2 is not found in str1, strstr() returns 0. 例子: 功能:从字串” string1 onexxx string2 oneyyy”中寻找”yyy” (假设xxx和yyy都是一个未知的字串) char *s=” string1 onexxx string2 oneyyy”; char *p; p=strstr(s,”string2”); if(!p) printf(“Not Found!”); p=strstr(p,”one”); if(!p) printf(“Not Found!”); p+=strlen(“one”) printf(“%s”,p); 说明:如果直接写语句p=strstr(p,”one”),则找到的是xxx,不符合要求 所以需采用二次查找法找到目标

MySQL加密函数用法

加密函数 a) 函数AES_ENCRYPT(str ,key_str ) , AES_DECRYPT(crypt_str ,key_str ) 函数使用说明:这些函数允许使用官方AES 进行加密和数据加密( 高级加密标准) 算法, 即以前人们所熟知的“Rijndael” 。保密关键字的长度为128 比特,不过你可以通过改变源而将其延长到256 比特。我们选择了128 比特的原因是它的速度要快得多,且对于大多数用途而言这个保密程度已经够用。 b) 函数DECODE(crypt_str ,pass_str ) 函数使用说明:使用pass_str 作为密码,解密加密字符串crypt_str ,crypt_str 应该是由ENCODE() 返回的字符串。 c) 函数ENCODE(str ,pass_str ) 函数使用说明:使用pass_str 作为密码,解密str 。使用DECODE() 解密结果。 d) 函数DES_DECRYPT(crypt_str [,key_str ]) 函数使用说明:使用DES_ENCRYPT() 加密一个字符串。若出现错误,这个函数会返回NULL 。 e) 函数DES_ENCRYPT(str [,(key_num |key_str )]) 函数使用说明:用Triple-DES 算法给出的关键字加密字符串。若出现错误,这个函数会返回NULL 。 f) 函数ENCRYPT(str [,salt ]) 函数使用说明:使用Unix crypt() 系统调用加密str 。salt 参数应为一个至少包含2 个字符的字符串。若没有给出salt 参数,则使用任意值。

javascript字符串处理函数汇总

javascript字符串处理函数汇总 虽然JavaScript 有很多用处,但是处理字符串是其中最流行的一个。下面让我们深入地分析一下使用JavaScript 操作字符串。 在JavaScript 中,String 是对象。String 对象并不是以字符数组的方式存储的,所以我们必须使用内建函数来操纵它们的值。这些内建函数提供了不同的方法来访问字符串变量的内容。下面我们详细看一下这些函数。 操作字符串的值是一般的开发人员必须面临的家常便饭。操作字符串的具体方式有很多,比如说从一个字符串是提取出一部分内容来,或者确定一个字符串是否包含一个特定的字符。下面的JavaScript 函数为开发人员提供了他们所需要的所有功能: ? concat() –将两个或多个字符的文本组合起来,返回一个新的字符串。 ? indexOf() –返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回-1 。 ? charA T() –返回指定位置的字符。 ? lastIndexOf() –返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。 ? match() –检查一个字符串是否匹配一个正则表达式。 ? substring() –返回字符串的一个子串。传入参数是起始位置和结束位置。 ? replace() –用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。 ? search() –执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回-1 。 ? slice() –提取字符串的一部分,并返回一个新字符串。 ? split() –通过将字符串划分成子串,将一个字符串做成一个字符串数组。

MySQL函数大全 及用法示例

字符串函数 ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('2'); -> 50 mysql> select ASCII(2); -> 50 mysql> select ASCII('dete'); -> 100 ORD(str) 如果字符串str句首是单字节返回与ASCII()函数返回的相同值。 如果是一个多字节字符,以格式返回((first byte ASCII code) *256+(second byte ASCII code))[*256+third byte ASCII code...] mysql> select ORD('2'); -> 50 CONV(N,from_base,to_base) 对数字N进制转换,并转换为字串返回(任何参数为NULL时返回NULL,进制范围为2-36进制,当to_base是负数时N作为有符号数否则 作无符号数,CONV以64位点精度工作) mysql> select CONV("a",16,2); -> '1010' mysql> select CONV("6E",18,8); -> '172' mysql> select CONV(-17,10,-18); -> '-H' mysql> select CONV(10+"10"+'10'+0xa,10,10); -> '40' BIN(N) 把N转为二进制值并以字串返回(N是BIGINT数字,等价于CONV (N,10,2)) mysql> select BIN(12); -> '1100'

C语言字符串操作总结大全(超详细)

C语言字符串操作总结大全(超详细) 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1) 查找字符串 strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素strspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移 strcspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移 * 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符 2)字符串到数值类型的转换 strtod(p, ppend) 从字符串p 中转换double 类型数值,并将后续的字符串指针存储到ppend 指向的char* 类型存储。 strtol(p, ppend, base) 从字符串p 中转换long 类型整型数值,base 显式设置转换的整型进制,设置为0 以根据特定格式判断所用进制,0x, 0X 前缀以解释为十六进制格式整型,0 前缀以解释为八进制格式整型 atoi(p) 字符串转换到int 整型 atof(p) 字符串转换到double 符点数 atol(p) 字符串转换到long 整型 3)字符检查 isalpha() 检查是否为字母字符 isupper() 检查是否为大写字母字符 islower() 检查是否为小写字母字符 isdigit() 检查是否为数字 isxdigit() 检查是否为十六进制数字表示的有效字符 isspace() 检查是否为空格类型字符 iscntrl() 检查是否为控制字符 ispunct() 检查是否为标点符号 isalnum() 检查是否为字母和数字 isprint() 检查是否是可打印字符 isgraph() 检查是否是图形字符,等效于isalnum() | ispunct()

字符串处理函数大全

字符串处理函数大全 bcmp(比较内存内容)相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp 表头文件;include 定义函数;int bcmp ( const void *s1,const void * s2,int n); 函数说明;bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0。返回值;若参数s1 和s2 所指的内存内容都完全相同则返回0 值,否则返回非零值。 附加说明;建议使用memcmp()取代。 范例:参考memcmp()。 //================================================================ bcopy(拷贝内存内容)相关函数 memccpy,memcpy,memmove,strcpy,ctrncpy 表头文件;#include 定义函数;void bcopy ( const void *src,void *dest ,int n); 函数说明;bcopy()与memcpy()一样都是用来拷贝src所指的内存内容前n个字节到dest所指的地址,不过参数src与dest在传给函数时是相反的位置。 返回值 ;附加说明建议使用memcpy()取代 范例 #include main() { char dest[30]=”string(a)”; char src[30]=”string\0string”; int i; bcopy(src,dest,30);/* src指针放在前*/ printf(bcopy(): “) for(i=0;i<30;i++) printf(“%c”,dest[i]); memcpy(dest src,30); /*dest指针放在钱*/ printf(…\nmemcpy() : “); for(i=0;i<30;i++) printf(“%c”,dest[i]); 执行 bcopy() : string string memcpy() :string sring //================================================================ bzero(将一段内存内容全清为零)相关函数 memset,swab 表头文件;#include 定义函数;void bzero(void *s,int n); 函数说明:bzero()会将参数s所指的内存区域前n个字节,全部设为零值。相当于调用memset((void*)s,0,size_tn); 返回值:附加说明建议使用memset取代

相关主题
文本预览
相关文档 最新文档