0
私はこの手順をFirebirdで行っています。このストアドプロシージャは、我々がパラメータとして与える2つの日付の間の日付のリストを示していますpostgresql関数で2つの日付間の結果を取得する
CREATE PROCEDURE DIAS_ENTRE_FECHAS (
first$date DATE,
last$date DATE)
RETURNS (
day$number INTEGEr,
day$name CHAR(10),
day$date DATE)
AS
DECLARE VARIABLE day$week INTEGER;
begin
/* Procedure Text */
day$date= FIRST$DATE;
day$number = 0;
while (day$date <= LAST$DATE) DO
begin
day$week=extract(weekday from day$date);
IF (day$week=0) THEN
day$name='DOMINGO';
ELSE IF (day$week=1) THEN
day$name='LUNES';
ELSE IF (day$week=2) THEN
day$name='MARTES';
ELSE IF (day$week=3) THEN
day$name='MIERCOLES';
ELSE IF (day$week=4) THEN
day$name='JUEVES';
ELSE IF (day$week=5) THEN
day$name='VIERNES';
ELSE IF (day$week=6) THEN
day$name='SABADO';
day$number = day$number+1;
suspend;
day$date = day$date+1;
end
エンド
私はのPostgreSQLで機能するFirebirdの手順を翻訳したいです。
私の例です。私はそれを実行する必要があります。
SELECT * FROM Dias_Entre_Fechas(start_date, end_date)
リターンデータ:
DAY$NUMBER DAY$NAME DAY$DATE
--------------------------------------
1 MARTES 12/01/2010
2 MIERCOLES 13/01/2010
3 JUEVES 14/01/2010
4 VIERNES 15/01/2010
ありがとう! ^^
私はので、機能を必要とします私自身のパラメータを与えたい。たとえば –
:Dias_Entre_Fechas FROM SELECT *(START_DATE、END_DATE) リターンデータ: DAY $ NUMBER DAY $ NAME DAYの$ DATE -------------------- ------------------ 1 MARTES 12/01/2010 2 MIERCOLES 13/01/2010 3 JUEVES 14/01/2010 4ビールズ15/01/2010 –