PL SQL de asal sayıları bulmak için aşağıdaki kodu kullanabilirsiniz.
Kodu kabaca anlatmak gerekirse. 1’den 1000’e kadar olan tüm sayıları üretip with as ile all_numbers’ı oluşturdum. ALL_NUMBERS’ı cartezyen (cross) join yaptım. Böylece her sayıyı, bölen başka bir sayı var mı diye kontroınl ettim. 1 sayısı her sayıya tam olarak bölündüğü için ve her sayı kendisine tam olarak bölündüğü için bunları küme dışında bıraktım. 2 sayının birbirine bölümü tam sayı ise ( roundlu hali ve roundsuz hali birbirine eşit ise) 0 dedim.
oracle pl sql’de ay başı ay sonu çeyrek başı çeyrek sonu önceki çeyrek önceki çeyrek başı önceki çeyrek son günü v.s. gibi çok kullanılan sql ifadelerini aşağıya ekledim. Trunc, add_months, last_day, trunc(,”) fonksiyonlarını kullanarak aşağıdaki gibi ilgili tarihleri getirdim.
AY
SELECT sysdate as su_an, --şu an
trunc(sysdate,'Q') as ceyrek_basi, --çeyrek başı
add_months(trunc(sysdate,'Q'),-3) as onceki_ceyrek_basi, --önceki çeyreğin başı
add_months(trunc(sysdate,'Q'),+3) as sonraki_ceyrek_basi, --sonraki çeyreğin başı
add_months(trunc(sysdate,'Q'),+3)-1 as ceyrek_son_gunu, --çeyrek sonu
trunc(sysdate,'Q')-1 as onceki_ceyrek_son_gun --önceki çeyrek son gün
FROM sys.DUAL;
CTAS ; Create Table AS yapısının kısaltılmış halidir. Kolay yoldan tablo oluşturmaya yarar. Genelde tablonun yedeğini almak için veya create script’inin kolayca oluşturulması için kullanılır.
CTAS yöntemi ile tablo oluşturulduğunda, partition, index, grant gibi objeler oluşmaz.
Örnek kullanım :
CREATE TABLE ornek_tablo AS SELECT * FROM hr.EMPLOYEES;