大家好,這個函式給我這個錯誤:“第 35 行有問題。” (RETURN diaCompleto;),我不知道下面的代碼有什么問題無論如何可以指出我正確的方向,tyvm。
DELIMITER $$
CREATE FUNCTION DIA_FECHA(fecha date)
RETURNS VARCHAR(8)
BEGIN
DECLARE nomDia VARCHAR(6);
DECLARE dia VARCHAR(2);
DECLARE diaCompleto VARCHAR(8);
SET dia = LPAD(DAY(fecha),2,'0');
IF(DAYOFWEEK(fecha) = 1) THEN
SET nomDia = 'DOM - ';
IF(DAYOFWEEK(fecha) = 2) THEN
SET nomDia = 'LUN - ';
IF(DAYOFWEEK(fecha) = 3) THEN
SET nomDia = 'MAR - ';
IF(DAYOFWEEK(fecha) = 4) THEN
SET nomDia = 'MIE - ';
IF(DAYOFWEEK(fecha) = 5) THEN
SET nomDia = 'JUE - ';
IF(DAYOFWEEK(fecha) = 6) THEN
SET nomDia = 'VIE - ';
IF(DAYOFWEEK(fecha) = 7) THEN
SET nomDia = 'SAB - ';
SET diaCompleto = CONCAT(nomDia,dia);
RETURN diaCompleto;
END$$
DELIMITER ;
uj5u.com熱心網友回復:
語法錯誤的原因是您需要END IF;
在每個IF/THEN
. 請參閱手冊中的示例:https ://dev.mysql.com/doc/refman/8.0/en/if.html
我認為您根本不需要撰寫此功能。相反,您可以使用 MySQL 的DATE_FORMAT() 函式。它支持一周中幾天的區域設定感知名稱。
mysql> set lc_time_names = 'es_ES';
mysql> select date_format(curdate(), '%a - %d') as diaCompleto;
-------------
| diaCompleto |
-------------
| sáb - 19 |
-------------
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/537593.html
標籤:数据库功能