From: | Volkan YAZICI <volkan(dot)yazici(at)gmail(dot)com> |
---|---|
To: | cemguler(at)kibrit(dot)net |
Cc: | pgsql-tr-genel(at)postgresql(dot)org |
Subject: | Re: date_part vs. extract |
Date: | 2005-07-05 13:28:28 |
Message-ID: | 7104a737050705062860af1d0d@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-tr-genel |
Merhaba,
On 7/5/05, Cem GULER <cemguler(at)kibrit(dot)net> wrote:
> The extract() function is the SQL92 equivalent to PostgreSQL's date_part()
> function, with a slightly modified syntax. The SQL syntax for this
> function uses the FROM keyword, rather than a comma. The arguments are
> similar to those for the date_part() function, though it differs in that
> its first argument is a SQL keyword, rather than a character string, and
> should therefore not be quoted. Valid values for k are the same as those
> listed in Table 5-12.
>
> Note that the extract() function exists as a SQL92 syntax "alias" for the
> PostgreSQL date_part() function; for this reason, the output column name
> from PostgreSQL is, by default, date_ part.
>
> Demekki date_part kullanıyormuşuz, çünkü internal mış. Buradan çıkacak
> sonuç ise "equivalent" yani dengi kelimesinin "aynı" kelimesi ile aynı
> manaya gelmediği.
Hayır, buradan böyle bir mana çıkmıyor.
> Yüklü ya da yoğun olarak tabir edebileceğimiz
> sunucularda sunucu yazılımını bir de "aliasing" ile uğraştırmamak en iyisi
> bence.
Açıkcası burada hemfikir değilim. PostgreSQL'in şuanki CVS HEAD'inde
bulunan kaynak kodundan baktığım kadarı ile date_part() fonksiyonu ile
EXTRACT ifadesinin ilgili fonksiyon çağrıları aynı şekilde bağlanmış.
Yani işler düşündüğünüz kadar "alias extract=date_part" şeklinde
yüzeysel değil. Kabaca izah edecek olursam, işlem şöyle gerçekleşiyor:
1. Dosyayı parse et.
2. EXTRACT ve date_part ifadelerini bul
3. date_part'ın uygun alt alias fonksiyonunu çağır.
Yani sonuç itibari ile date_part için de başka alt fonksiyonlara bir
alias tanımlı. Bunun dışında anladığım kadarı ile herhangi bir
performans kazancı kaydetmeniz olası gözükmüyor. Çünkü iki işaretçi
de, başka bir işaretçinin alt işaretçilerini gösteriyor.
Bence burada dikkat edilmesi gereken hangisinin çoğu SQL standardı
tarafından desteklendiği.
İyi çalışmalar.
From | Date | Subject | |
---|---|---|---|
Next Message | Azer Demir | 2005-07-08 16:10:57 | kitap önerisi |
Previous Message | Volkan YAZICI | 2005-07-05 12:36:16 | Re: date_part vs. extract |