专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅


AND

TRUE

FALSE

NULL


TRUE

TRUE

FALSE

NULL


FALSE

FALSE

FALSE

NULL


NULL

NULL

NULL

NULL





或(OR)





OR

TRUE

FALSE

NULL


TRUE

TRUE

TRUE

TRUE


FALSE

TRUE

FALSE

NULL


NULL

TRUE

NULL

NULL






异或(XOR)





XOR

TRUE

FALSE

NULL


TRUE

FALSE

TRUE

NULL


FALSE

TRUE

FALSE

NULL


NULL

NULL

NULL

NULL






位运算符

|   位或
&   位和
<<  左移位
>>  右移位
~   位非(单目运算按位取反)


mysq存储过程中常用串类型操作数学类日期时间类


mysql存储过程基本


.串类 

CHARSET(str) //返回字串
CONCAT (2  [,... ]) //连接字串
INSTR ( ,sub ) //返回sub首次在中出现位置,不存在返回0
LCASE (2 ) //转换成小写
LEFT (2 ,length ) //从2中左边起取length个
LENGTH ( ) //长度
LOAD_FILE (file_name ) //从文件读取内容
LOCATE (sub ,   [,start_position ] ) 同INSTR,但可指定开始位置
LPAD (2 ,length ,pad ) //重复用pad加在开头,直到字串长度为length
LTRIM (2 ) //去除前端空格
REPEAT (2 ,count ) //重复count次
REPLACE (str ,search_str ,replace_str ) //在str中用replace_str替换search_str
RPAD (2 ,length ,pad) //在str后用pad补充,直到长度为length
RTRIM (2 ) //去除后端空格
STRCMP (1 ,2 ) //逐比较两字串大小,
SUBSTRING (str , position  [,length ]) //从strposition开始,取length个,
注:mysql中处理串时默认第下标为1即参数position必须大于等于1

mysql> select sub(’abcd’,0,2);
+———————–+
| sub(’abcd’,0,2) |
+———————–+
|                       |
+———————–+
1 row in (0.00 sec)


mysql> select sub(’abcd’,1,2);
+———————–+
| sub(’abcd’,1,2) |
+———————–+
| ab                    |
+———————–+
1 row in (0.02 sec)
TRIM([[BOTH|LEADING|TRAILING] [padding] FROM]2) //去除指定位置指定
UCASE (2 ) //转换成大写
RIGHT(2,length) //取2最后length个
SPACE(count) //生成count个空格 


2.数学类

ABS (number2 ) //绝对值
BIN (decimal_number ) //十进制转 2进制
CEILING (number2 ) //向上取整
CONV(number2,from_base,to_base) //进制转换
FLOOR (number2 ) //向下取整
FORMAT (number,decimal_places ) //保留小数位数
HEX (DecimalNumber ) //转十 6进制
注:HEX中可传入则返回其ASC-11码如HEX(’DEF’)返回4142143
也可以传入十进制整数返回其十 6进制编码如HEX(25)返回19
LEAST (number , number2  [,..]) //求最小值
MOD (numerator ,denominator ) //求余
POWER (number ,power ) //求指数
RAND([seed]) //随机数
ROUND (number  [,decimals ]) // 4舍 5入,decimals为小数位数]

注:返回类型并非均为整数如:
(1)默认变为整形值
mysql> select round(1.23);
+————-+
| round(1.23) |
+————-+
|           1 |
+————-+
1 row in (0.00 sec)

mysql> select round(1.56);
+————-+
| round(1.56) |
+————-+
|           2 |
+————-+
1 row in (0.00 sec)

(2)可以设定小数位数返回浮点型数据
mysql> select round(1.567,2);
+—————-+
| round(1.567,2) |
+—————-+
|           1.57 |
+—————-+
1 row in (0.00 sec)


SIGN (number2 ) //返回符号,正负或0
SQRT(number2) //开平方



3.日期时间类
 

ADDTIME (date2 ,time_erval ) //将time_erval加到date2
CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) //转换时区
CURRENT_DATE (  ) //当前日期
CURRENT_TIME (  ) //当前时间
CURRENT_TIMESTAMP (  ) //当前时间戳
DATE (datetime ) //返回datetime日期部分
DATE_ADD (date2 , INTERVAL d_value d_type ) //在date2中加上日期或时间
DATE_FORMAT (datetime ,FormatCodes ) //使用formatcodes格式显示datetime
DATE_SUB (date2 , INTERVAL d_value d_type ) //在date2上减去个时间
DATEDIFF (date1 ,date2 ) //两个日期差
DAY (date ) //返回日期
DAYNAME (date ) //英文星期
DAYOFWEEK (date ) //星期(1-7) ,1为星期天
DAYOFYEAR (date ) //年中第几天
EXTRACT (erval_name  FROM date ) //从date中提取日期指定部分
MAKEDATE (year ,day ) //给出年及年中第几天,生成日期串
MAKETIME (hour ,minute ,second ) //生成时间串
MONTHNAME (date ) //英文月份名
NOW (  ) //当前时间
SEC_TO_TIME (seconds ) //秒数转成时间
STR_TO_DATE ( ,format ) //字串转成时间,以format格式显示
TIMEDIFF (datetime1 ,datetime2 ) //两个时间差
TIME_TO_SEC (time ) //时间转秒数]
WEEK (date_time [,start_of_week ]) //第几周
YEAR (datetime ) //年份
DAYOFMONTH(datetime) //月第几天
HOUR(datetime) //小时
LAST_DAY(date) //date最后日期
MICROSECOND(datetime) //微秒
MONTH(datetime) //月
MINUTE(datetime) //分
 
附:可用在INTERVAL中类型
DAY ,DAY_HOUR ,DAY_MINUTE ,DAY_SECOND ,HOUR ,HOUR_MINUTE ,HOUR_SECOND ,MINUTE ,MINUTE_SECOND,MONTH ,SECOND ,YEAR 


标签:phpmysql存储过程 mysql修改存储过程 mysql存储过程教程 mysql存储过程
下载文章的 PDF文档电子版 离线看
0

相关文章

读者评论

发表评论

首页 »数据库 » mysql存储过程:mysql 5.0存储过程学习整理总结 »正文

mysql存储过程:mysql 5.0存储过程学习整理总结

来源: 发布时间:星期三, 2009年9月2日 浏览:2次 评论:0
.创建存储过程

1.基本语法:

create procedure sp_name
begin
………
end
2.参数传递


2.存储过程

1.基本语法:call sp_name
注意:存储过程名称后面必须加括号哪怕该存储过程没有参数传递
3.删除存储过程

1.基本语法:
drop procedure sp_name//
2.注意事项
(1)不能在个存储过程中删除另个存储过程只能个存储过程
4.区块条件循环


1.区块定义常用
begin
……
end;
也可以给区块起别名如:
lable:begin
………..
end lable;
可以用leave lable;跳出区块执行区块以后整理总结-操作符
算术运算符

+     加   SET var1=2+2;       4
-     减   SET var2=3-2;       1
*     乘   SET var3=3*2;       6
/     除   SET var4=10/3;      3.3333
DIV   整除 SET var5=10 DIV 3;  3
%     取模 SET var6=10%3 ;     1

比较运算符

>            大于 1>2 False
<            小于 2<1 False
<=           小于等于 2<=2 True
>=           大于等于 3>=2 True
BETWEEN      在两值的间 5 BETWEEN 1 AND 10 True
NOT BETWEEN  不在两值的间 5 NOT BETWEEN 1 AND 10 False
IN           在集合中 5 IN (1,2,3,4) False
NOT IN       不在集合中 5 NOT IN (1,2,3,4) True
=            等于 2=3 False
<>, !=       不等于 2<>3 False
<=>          严格比较两个NULL值是否相等 NULL<=>NULL True
LIKE         简单模式匹配 "Guy Harrison" LIKE "Guy%" True
REGEXP       正则式匹配 "Guy Harrison" REGEXP "[Gg]reg" False
IS NULL      为空 0 IS NULL False
IS NOT NULL  不为空 0 IS NOT NULL True
逻辑运算符

(AND)