Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   UDF que devuelva dia de la semana (https://www.clubdelphi.com/foros/showthread.php?t=8003)

gendelphi 04-03-2004 08:23:15

UDF que devuelva dia de la semana
 
Hola a todos :)

Alguien de ustedes sabe si exista alguna función UDF que permita obtener el dia de la semana en como un numero entero correspondiente a una fecha, por ejemplo:

domigo --> 1
lunes --> 2
martes --> 3
.....
etc

He intentado usando DOW y SDOW pero me devuelven el dia en formato de cadena y al parecer depende del idioma del SO porque por ejemplo si es dia sabado, me lo devuelbe con acento: "sábado", yo los necesito para comparararlos y si dependen del SO mi comparacion puedo no llevarse a cabo correctamente por razones del idioma, es por eso que me interesa que sea en formato numerico.

Gracias de antemano. ;)

abel 04-03-2004 09:32:57

Hola:

Puedes hacerlo con procedimientos almacenados, prueba con esto:
Código:

CREATE PROCEDURE PA_EXTRAEDIASEMANA (
    ADATE DATE)
RETURNS (
    RESULT INTEGER)
AS
DECLARE VARIABLE ELAPSED INTEGER;
DECLARE VARIABLE TEMP INTEGER;
BEGIN
  Elapsed = ADate - "1.1.96";
  EXECUTE PROCEDURE PA_ObtieneResto(Elapsed, 7) RETURNING_VALUES temp;
  RESULT = CAST(temp as INTEGER);
END

y este otro:

Código:

CREATE PROCEDURE PA_OBTIENERESTO (
    DIVIDEND DOUBLE PRECISION,
    DIVISOR DOUBLE PRECISION)
RETURNS (
    RESULT DOUBLE PRECISION)
AS
BEGIN
  IF(Dividend = 0) THEN Result = 0;
  ELSE
    Result = Dividend-(CAST((Dividend / Divisor)-0.5 AS INTEGER)*Divisor);
END

Te devuelve: 0->lunes, 1->martes, etc.

Saludos.

gendelphi 04-03-2004 09:53:09

!! GRACIAS !! Por tu pronta respuesta, lo voy a checar.

Saludos desde México

teletranx 05-03-2004 15:30:27

El dll FreeUdfLib.dll tiene la función f_dayofweek() que te entreda el día de la semana, y otras funciones


Saludos:D


La franja horaria es GMT +2. Ahora son las 09:06:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi