Mysql 自定义函数简单例子
来源:互联网 发布:百度云加速软件 编辑:程序博客网 时间:2024/05/16 09:39
格式化NOW函数:
mysql> SELECT NOW();+---------------------+| NOW() |+---------------------+| 2017-07-07 16:08:44 |+---------------------+1 row in setmysql> SELECT DATA_FORMAT(NOW,'%y年%m月%d日 %H点:%i分:%s秒');1305 - FUNCTION test.DATA_FORMAT does not existmysql> SELECT DATE_FORMAT(NOW,'%y年%m月%d日 %H点:%i分:%s秒');1054 - Unknown column 'NOW' in 'field list'mysql> SELECT DATE_FORMAT(NOW(),'%y年%m月%d日 %H点:%i分:%s秒');+--------------------------------------------------+| DATE_FORMAT(NOW(),'%y年%m月%d日 %H点:%i分:%s秒') |+--------------------------------------------------+| 17年07月07日 16点:10分:41秒 |+--------------------------------------------------+1 row in set
创建无参自定义函数:
mysql> CREATE FUNCTION f1() RETURN VARCHAR(30) -> RETURN DATE_FORMATE(NOW(),'%y年%m月%d日 %H点:%i分:%s秒');1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RETURN VARCHAR(30)RETURN DATE_FORMATE(NOW(),'%y年%m月%d日 %H点:%i分:%s' at line 1mysql> CREATE FUNCTION f1() RETURNS VARCHAR(30) -> RETURN DATE_FORMAT(NOW(),'%y年%m月%d日 %H点:%i分:%s秒');Query OK, 0 rows affected
调用函数:
mysql> select f1();+-----------------------------+| f1() |+-----------------------------+| 17年07月07日 16点:27分:49秒 |+-----------------------------+1 row in set
创建有参自定义函数:
mysql> CREATE FUNCTION f2(num1 smallint UNSIGNED,num2 smallint UNSIGNED) -> RETURNS FLOAT(10,2) UNSIGNED -> RETURN (num1+num2)/2;Query OK, 0 rows affectedmysql> select f2(1,2);+---------+| f2(1,2) |+---------+| 1.5 |+---------+1 row in set
MySQL允许使用非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。这里,“(M,D)”表示该值一共显示M位整数,其中D位位于小数点后面。例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。
参考博客:点它
创建复合结构体的自定义函数:
delimiter:参考博客:MYSQL中delimiter的作用
store表:
store | CREATE TABLE `store` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `count` int(11) NOT NULL DEFAULT '1', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 |
mysql> delimiter //mysql> CREATE FUNCTION adduser(username VARCHAR(20),num smallint) -> RETURNS INT UNSIGNED -> BEGIN -> insert into store(id,name,count) values(null,username,num); -> RETURN LAST_INSERT_ID(); -> END -> //Query OK, 0 rows affected
mysql> delimiter ;mysql> select adduser('HELLOWORLD',12);+--------------------------+| adduser('HELLOWORLD',12) |+--------------------------+| 9 |+--------------------------+1 row in set
阅读全文
0 0
- Mysql 自定义函数简单例子
- 自定义ClassLoader 简单例子
- 自定义view简单例子
- jsp自定义函数例子
- MySql+c3p0简单例子
- mysql分区表简单例子
- JDBC简单例子(MySQL)
- mysql分区表简单例子
- 函数依赖简单例子
- 自定义ClassLoader的简单例子
- 自定义AuthenticationProvider的简单例子
- 自定义UITabBarController的简单例子
- 自定义View简单小例子
- MySQL 触发器 存储过程 自定义函数 视图 简单示例
- MySQL 中的自定义函数和存储过程 简单实例
- Mysql自定义方法使用例子
- Oracle自定义函数的例子
- JAVA连接MySQL简单例子
- 2017.7.7 机房测试 (模拟,贪心,二分)
- 欢迎使用CSDN-markdown编辑器
- iOS Orientation, 想怎么转就怎么转
- cnn text classify
- 深入sizeof的使用详解
- Mysql 自定义函数简单例子
- OpenJudge 2.5-1817&&166 城堡问题(The Castle)
- 实现下拉刷新,上拉加载可自定义各种动画
- 机器学习笔记最大熵之NER
- 分离ts媒体文件中每个pid的数据
- [IMX6Q][Android5.1]移植笔记 --- uboot_v2015.04移植
- Spring ajax list转String 传值
- BloomFilter布隆过滤器使用
- 将文件中的内容转化为数组