我有一个列日期,如下所示:
+-----------+
| Date |
+-----------+
| 20140611 |
| 20150119 |
| 20150922 |
| 20160310 |
+-----------+它是一个YYYYMMDD格式的字符串。
我想创建一个名为Quarter的新列,如下所示:
+-----------+-------------+
| Date | Quarter |
+-----------+-------------+
| 20140611 | Q2-2014 |
| 20150119 | Q1-2015 |
| 20150922 | Q3-2015 |
| 20160310 | Q3-2016 |
+-----------+-------------+其中Quarter表示相应Date下降的季度。
这只是一个示例,但我实际上想知道如何编写一个函数,该函数可以应用于表的单个列,并在经过一些预定义的处理后创建一个新列。
发布于 2016-05-09 19:08:03
使用quarter函数
select `Date`, QUARTER(`date`) as Quarter
from my_table ;否则,如果您正在寻找用户定义的函数,则可以使用
CREATE FUNCTION hello_world(my_text TEXT)
RETURNS TEXT
LANGUAGE SQL -- This element is optional and will be omitted from
BEGIN
RETURN CONCAT('Hello ', my_text);
END;
$$
DELIMITER ;然后
SELECT hello_world('Earth');返回Hello Earth
http://dev.mysql.com/doc/refman/5.7/en/create-function-udf.html
https://stackoverflow.com/questions/37114134
复制相似问题