mysql CREATE FUNCTION HelloWorld4()
作为一家“创意+整合+营销”的成都网站建设机构,我们在业内良好的客户口碑。创新互联公司提供从前期的网站品牌分析策划、网站设计、成都网站建设、网站设计、创意表现、网页制作、系统开发以及后续网站营销运营等一系列服务,帮助企业打造创新的互联网品牌经营模式与有效的网络营销方法,创造更大的价值。
- RETURNS VARCHAR(20)
- BEGIN
- RETURN 'Hello World!';
- END;
- //
Query OK, 0 rows affected (0.00 sec)
mysql select HelloWorld4() //
+---------------+
| HelloWorld4() |
+---------------+
| Hello World! |
+---------------+
1 row in set (0.00 sec)
如果你会其它数据库的话, 那么看看那个 SQL 存储过程编写 参考手册 对你会有些帮助。
UPDATE
`表名`
SET
`参加工作`
=
(SELECT
DATE_ADD(Birthday,
INTERVAL
`WorkYear`
YEAR));
会把所有的
`参加工作时间`
列修改为
Birthday
+
WorkYear
DATE_ADD函数使用说明: DATE_ADD(date,
INTERVAL
expr
type);
第一个参数date,可以是date类型或者datetime类型;
第二个参数INTERVAL
expr
type;INTERVAL
是指明相加的间隔,
expr是表达式,间隔的值,可以为列名,如
`WorkYear`;type是指定那部分相加,如
YEAR,只相加YEAR部分,其它不变,可以为其它类型如:DAY_HOUR,MINUTE_SECOND
。
mysql CREATE FUNCTION HelloWorld4()
- RETURNS VARCHAR(20)
- BEGIN
- RETURN 'Hello World!';
- END;
- //
Query OK, 0 rows affected (0.00 sec)
mysql select HelloWorld4() //
+---------------+
| HelloWorld4() |
+---------------+
| Hello World! |
+---------------+
1 row in set (0.00 sec) ...展开mysql CREATE FUNCTION HelloWorld4()
- RETURNS VARCHAR(20)
- BEGIN
- RETURN 'Hello World!';
- END;
- //
Query OK, 0 rows affected (0.00 sec)
mysql select HelloWorld4() //
+---------------+
| HelloWorld4() |
+---------------+
| Hello World! |
+---------------+
1 row in set (0.00 sec)
语法:Create function function_name(参数列表)returns返回值类型
函数体 函数名,应合法的标识符,不应与系统关键字冲突。
一个函数应该属于某个数据库,可以使用db_name.funciton_name的形式执行当前函数所属数据库,否则为当前数据库。
参数部分,由参数名和参数类型组成。
返回值类类型.注意,一定要有return返回值语句。
创建第一个函数:
mysql DROP FUNCTION IF EXISTS SP_FUNC_DBDH_ONE -- 删掉已存在函数 DELIMITER -- 定义分隔符,必须要有 ,本例为 可以为得数字符,例如: $$,%%,**
mysql CREATE FUNCTION SP_FUNC_DBDH_ONE( PARA_VAR varchar(30)) -- 多个参数用,分割 参数
的类型必须是mysql列存在的类型
- RETURNS VARCHAR(100) -- 指定返回值类型,如果你不确定返回
文本长度,可以使用text
- BEGIN
- DECLARE NAYIBU_FIR VARCHAR(30) DEFAULT 'THIS IS MY FIRST,'; -- 定义变量,设置默认值
- SET NAYIBU_FIR = concat(NAYIBU_FIR,PARA_VAR);
- RETURN NAYIBU_FIR; -- 返回值
- END $$
后面有你在前面定义的分割符号
Query OK, 0 rows affected (0.00 sec)
mysql DELIMITER
调用自定义函数,输出结果如下:
mysql SELECT SP_FUNC_DBDH_ONE('PROGRAM');
+------------------------------+
| SP_FUNC_DBDH_ONE('PROGRAM') |
+------------------------------+
| 'THIS IS MY FIRST, PROGRAM |
+------------------------------+
1 row in set (0.00 sec)
MySQL 自己不带有 to_char 这个函数的。
你要模仿 Oracle, 写一个 MySQL 的 TO_CHAR 函数?
这个恐怕有点麻烦。
因为 Oracle 的 TO_CHAR 是可以把 日期型的, 数值型的, 转换为 字符类型。
你这个MySQL 下的 to_char , 只要转换日期呢? 还是转换 数字?
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款