【问题标题】:Creating funcion for short date in spanish用西班牙语创建短日期函数
【发布时间】:2022-11-20 02:26:27
【问题描述】:

大家好,这个函数给我这个错误:“第 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 ;

【问题讨论】:

    标签: mysql function


    【解决方案1】:

    您是否考虑过使用 MySQL 的DATE_FORMAT() function?它支持一周中几天的区域设置感知名称。

    mysql> set lc_time_names = 'es_ES';
    
    mysql> select date_format(curdate(), '%a - %d') as diaCompleto;
    +-------------+
    | diaCompleto |
    +-------------+
    | sáb - 19    |
    +-------------+
    

    除此之外,您的语法错误的原因是您需要在每个IF/THEN 之后使用END IF;。请参阅手册中的示例:https://dev.mysql.com/doc/refman/8.0/en/if.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-02
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      相关资源
      最近更新 更多