Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-03-2004
gendelphi gendelphi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Tlaxcala Mexico
Posts: 73
Poder: 21
gendelphi Va por buen camino
Question 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.
Responder Con Cita
  #2  
Antiguo 04-03-2004
Avatar de abel
abel abel is offline
Miembro
 
Registrado: sep 2003
Posts: 59
Poder: 21
abel Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 04-03-2004
gendelphi gendelphi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Tlaxcala Mexico
Posts: 73
Poder: 21
gendelphi Va por buen camino
!! GRACIAS !! Por tu pronta respuesta, lo voy a checar.

Saludos desde México
Responder Con Cita
  #4  
Antiguo 05-03-2004
teletranx teletranx is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 112
Poder: 21
teletranx Va por buen camino
El dll FreeUdfLib.dll tiene la función f_dayofweek() que te entreda el día de la semana, y otras funciones


Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:24:56.


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
Copyright 1996-2007 Club Delphi