pl sql datetime format
PL SQL Tarih Saat Biçimi ve Tarih Saat, Zaman Damgası ve Aralık ile ilgili bazı yararlı işlevler hakkında bilgi edinin:
İçinde PL / SQL Tetikleyiciler içinde PL SQL serisi , türlerini, kullanımlarını ve avantajlarını öğrendik.
Bu makalede, PL / SQL'deki tarih ve saati ve Datetime, Timestamp ve Interval veri türlerindeki bazı işlevleri inceleyeceğiz. Ayrıca Datetime ve Interval üzerinde bazı temel işlemler yapacağız.
Tartışmaya başlayalım !!
Ne öğreneceksin:
PL SQL Tarih Saat Biçimi
PL / SQL, tarihleri, aralıkları ve saatleri tutmamıza ve hesaplamamıza izin veren bir tarih / saat veri türüne sahiptir. Tarih veya saat türündeki değişken, DateTime adlı bir değer içerir. Aralık veri türünü tutan değişken, aralık olarak adlandırılır. Bu veri türlerinin her biri, değeri belirleyen alanlara sahiptir.
DateTime veri türleri aşağıda listelenmiştir:
- TIMESTAMP
- SAAT DİLİMİ İLE TIMESTAMP
- YEREL SAAT DİLİMİ İLE TIMESTAMP
- TARİH
Aralık veri türleri aşağıda listelenmiştir:
- İKİNCİYE ARALIK GÜNÜ
- YILDAN AYA ARALIK
TARİH
Sabit uzunluktaki veri saatleri DATE veri türünde saklanır. Saniye cinsinden gece yarısından itibaren günün saatini içerir. Tarih bölümü, içinde bulunduğumuz ayın ilk gününü, saat bölümü ise gece yarısını gösterir. Hem sayı hem de karakter veri türlerinde tarih ve saat bilgilerini tutar.
SYSDATE, şimdiki zaman ve tarihi getiren bir tarih işlevidir. Uygun tarih aralığı MÖ 1 Ocak 4712 ile MS 31 Aralık 9999 arasındadır. Varsayılan formattaki karakter değerleri (Oracle başlatma parametresi NLS_DATE_FORMAT tarafından belirlenir) doğal olarak PL / SQL tarafından DATE değerlerine dönüştürülür.
Tarihlerde toplama ve çıkarma gibi matematiksel işlemleri uygulayabiliriz. PL / SQL, tamsayı değişmezlerini gün biçiminde yorumlar. Örneğin, SYSDATE + 1 puan yarına.
TIMESTAMP
Zaman damgası veri türü, DATE veri türünün bir uzantısıdır. Yıl, ay, saat ve saniyeyi tutmak için kullanılır. Varsayılan zaman damgası biçimi, Oracle başlatma parametresi NLS_TIMESTAMP_FORMAT tarafından belirlenir.
Sözdizimi:
TIMESTAMP((precision))
Burada, kesinlik zorunlu bir parametre değildir ve saniye alanının kesirli kısmında bulunan basamakların sayısını gösterir. Kesinlik 0 ile 9 arasında herhangi bir tamsayı olmalıdır. Varsayılan değer 6 olarak ayarlanmıştır.
ZAMAN DİLİMİ İLE TIMESTAMP
Bu veri türü, TIMESTAMP veri türünün bir uzantısıdır ve saat dilimi yer değiştirmesini içerir. Saat dilimi değişimi, yerel saat ile Koordineli Evrensel Saat (UTC) arasındaki zaman farkıdır (saat ve dakika olarak).
Saat dilimi biçimine sahip varsayılan zaman damgası, Oracle başlatma parametresi NLS_TIMESTAMP_TZ_FORMAT tarafından belirlenir. Sözdizimi:
TIMESTAMP((precision)) WITH TIME ZONE
Burada kesinlik zorunlu bir parametre değildir ve saniye alanının kesirli kısmında bulunan basamakların sayısını gösterir. Kesinlik 0 ile 9 arasında herhangi bir tamsayı olmalıdır. Varsayılan değer 6 olarak ayarlanmıştır.
kabarcık sıralama azalan düzen c ++
Saat diliminden sembollerle bahsedebiliriz. 'ABD / Pasifik' gibi uzun biçimde veya kısaca 'PDT' gibi veya her ikisinin bir kombinasyonu olabilir. Bu nedenle bu veri türü, coğrafi konumlardaki bilgileri kaplamak ve hesaplamak için kullanılır.
YEREL SAAT DİLİMİ İLE TIMESTAMP
Yerel saat dilimi veri türüne sahip zaman damgası, TIMESTAMP veri türünün bir uzantısıdır ve saat dilimi yer değiştirmesini içerir. Saat dilimi değişimi, yerel saat ile Koordineli Evrensel Saat (UTC) arasındaki zaman farkıdır (saat ve dakika olarak).
Sözdizimi:
TIMESTAMP ((precision)) WITH LOCAL TIME ZONE
Burada, kesinlik zorunlu bir parametre değildir ve saniyenin alanının kesirli kısmında bulunan basamakların sayısını gösterir. Kesinlik 0 ile 9 arasında herhangi bir tamsayı olmalıdır. Varsayılan değer 6 olarak ayarlanmıştır.
YEREL TIME ZONE İLE TIMESTAMP İLE TIMESTAMP WITH TIME ZONE veritabanına değer girerken değerin veritabanının saat dilimine ayarlanması ve saat dilimi deplasmanının veritabanı sütununda tutulmaması nedeniyle farklıdır. Bununla birlikte, değer getirildiğinde, yerel saat dilimi oturumunda döndürülür.
YILDAN AYA ARALIK
Bu veri türü, yıl ve ay aralığını depolamak ve hesaplamak için kullanılır.
Sözdizimi:
INTERVAL YEAR ((precision)) TO MONTH
Burada hassasiyet, bir yılın alanındaki basamak sayısının sayısıdır. Kesinlik 0 ile 4 arasında herhangi bir tamsayı olmalıdır. Varsayılan değer 2 olarak ayarlanmıştır.
ARALIK YILDAN İKİNCİYE
Yıldan saniyeye veri türü, günleri, saatleri, dakikaları ve saniye aralıklarını depolamak ve hesaplamak için kullanılır.
Sözdizimi:
INTERVAL DAY ((l_precision)) TO SECOND ((fractional_s_precision))
Burada l_precision ve kesirli_s_hassasiyet sırasıyla gün ve saniye alanındaki basamakların sayısıdır.
Kesinlik 0'dan 9'a kadar herhangi bir tam sayı olmalıdır. Varsayılan değerler sırasıyla 2 ve 6'ya ayarlanmıştır.
Alan Değerleri: Tarih Saat ve Aralık
- İKİNCİ: Geçerli DateTime aralığı için değerler 00 ila 59,9 (m) arasındadır ve burada m, zaman-kesirli saniyeleri gösterir. Geçerli aralık aralığı için değerler, 00 ila 59,9 (m) arasındadır, burada m, aralık kesirli saniye anlamına gelir.
- DAKİKA: Geçerli DateTime aralığı için değerler 00 ile 59 arasındadır. Geçerli aralık aralığı değerleri 0 ile 59 arasındadır.
- SAAT: Geçerli DateTime aralığı için değerler 00 ile 23 arasındadır. Geçerli aralık aralığı değerleri 0 ile 23 arasındadır.
- GÜN: Geçerli Tarih Saat aralığı değerleri 01 ile 31 arasındadır (yerel takvim kurallarına göre YEAR ve MONTH değerleriyle sınırlıdır). Geçerli bir aralık aralığı için değer, sıfır olmayan herhangi bir tam sayıdır.
- AY: Geçerli Tarih Saat aralığı değerleri 01 - 12 arasındadır. Geçerli aralık aralığı değerleri 0 - 11 arasındadır.
- YIL: Geçerli DateTime aralığı değerleri, 0 yılını içermeyen -4712 ila 9999 arasındadır. Geçerli aralık aralığı değeri, sıfır olmayan herhangi bir tam sayıdır.
- TIMEZONE_HOUR: Geçerli DateTime aralığı için değerler -12 ile 14 arasındadır ve gün ışığından yararlanma saati değişikliklerini içerir. Bu, geçerli aralık aralığı için geçerli değildir.
- TIMEZONE_MINUTE: Geçerli DateTime aralığı için değerler 00 ile 59 arasındadır. Bu, geçerli aralık aralığı için geçerli değildir.
- TIMEZONE_REGION: Geçerli DateTime aralığı değerleri DATE veya TIMESTAMP için geçerli değildir. Bu, geçerli bir aralık aralığı için geçerli değildir.
- TIMEZONE_ABBR: Geçerli DateTime aralığı değerleri DATE veya TIMESTAMP için geçerli değildir. Bu, geçerli aralık aralığı için geçerli değildir.
Datetime İçinde PL SQL İşlevleri
Burada m ve n, datetime değerlerini içerir.
Sl. Yok hayır. | İsim | Amaçlar |
---|---|---|
7 | SYSDATE () | Mevcut tarih-saati getirir. |
bir | LAST_DAY (dk) | Ayın son gününü getirir. |
iki | ADD_MONTHS (m, n) | M ve n ayı özetliyor. |
3 | MONTHS_BETWEEN (m, n) | M ve n arasındaki ayların sayısını getirir. |
4 | NEXT_DAY (m, gün) | M'den sonraki ertesi günün tarih-saatini alır. |
5 | BİR DAHAKİ SEFER | Kullanıcının istediği saat diliminden saati / günü getirir. |
6 | ROUND (m (, birim)) | Mermi |
8 | TRUNC (m (, birim)) | M keser. |
Zaman Damgasında PL SQL İşlevleri
Burada m, zaman damgasının değerini içerir.
Sl. Yok hayır. | İsim | Amaçlar |
---|---|---|
7 | TO_TIMESTAMP_TZ (m, (biçim)) | M dizesini TIMEZONE İLE TIMESTAMP with TIMEZONE biçimine dönüştürür. |
bir | GEÇERLİ ZAMAN DALGASI () | Mevcut oturuma ve oturum saat dilimine sahip TIMEZONE İLE bir TIMESTAMP döndürür. |
iki | FROM_TZ (m, zaman_ dilimi) | M TIMESTAMP'ı dönüştürür ve time_zone'dan TIMEZONE İLE TIMESTAMP'a bahseder. |
3 | LOCALTIMESTAMP () | Oturum saat diliminde yerel saate sahip bir TIMESTAMP döndürür. |
4 | SYSTEMTIMESTAMP () | Mevcut veritabanı saatine ve veritabanı saat dilimine sahip olan TIMEZONE İLE bir TIMESTAMP döndürür. |
5 | SYS_EXTRACT_UTC (m) | Saat dilimi ile m TIMESTAMP öğesini UTC'de tarih ve saati olan TIMESTAMP'a dönüştürür. |
6 | TO_TIMESTAMP (m, (biçim)) | M dizesini TIMESTAMP'a dönüştürür. |
Datetime ve Timestamp işlevleriyle Kod Uygulama:
BEGIN /* get the current date and time */ DBMS_OUTPUT.put_line ('The output of SYSDATE is:'|| SYSDATE); /* get the TIMESTAMP WITH TIME ZONE with database time and time zone */ DBMS_OUTPUT.put_line ('The output of SYSTIMESTAMP is:' ||SYSTIMESTAMP); /* get the TIMESTAMP with local time in session time zone */ DBMS_OUTPUT.put_line ('The output of LOCALTIMESTAMP:' ||LOCALTIMESTAMP); /*get the TIMESTAMP WITH TIME ZONE with present session time with session time zone */ DBMS_OUTPUT.put_line ('The output of CURRENT_TIMESTAMP:'||CURRENT_TIMESTAMP); /*convert string to TIMESTAMP*/ DBMS_OUTPUT.put_line ('The output of TIMESTAMP:'||TO_TIMESTAMP('12-JAN-2011')); /*to add months*/ DBMS_OUTPUT.put_line ('The output of ADD_MONTHS:'||ADD_MONTHS(SYSDATE,1)); /*to get date and time of following day*/ DBMS_OUTPUT.put_line ('The output of NEXT_DAY:'||NEXT_DAY(SYSDATE,'MONDAY')); /*to truncate date */ DBMS_OUTPUT.put_line ('The output of TRUNC:'||TRUNC(SYSDATE)); /*to get the last day of month */ DBMS_OUTPUT.put_line ('The output of LAST_DAY:'||LAST_DAY (SYSDATE)); END; /
Yukarıdaki kodun çıktısı:
Aralıkta PL SQL İşlevleri
Sl. Yok hayır. | İsim | Amaçlar |
---|---|---|
bir | NUMTODSINTERVAL (m, aralık) | M sayısını ARALIK GÜNÜ İKİNCİYE DÖNÜŞTÜRÜR. |
iki | NUMTOYMINTERVAL (m, aralık) | M sayısını INTERVAL YEAR TO MONTH olarak dönüştürür. |
3 | TO_DSINTERVAL (m) | M dizesini INTERVAL DAY TO SECOND olarak dönüştürür. |
4 | TO_YMINTERVAL (m) | M dizesini INTERVAL YEAR TO MONTH şeklinde dönüştürür. |
Tarih Saat ve Aralıkta Aritmetik İşlemler
PL / SQL, DateTime ve aralık ifadeleri oluşturmanıza olanak sağlar.
Uygulanabilecek operatörlerin listesi:
- İlk işlenen DateTime ise ve ikinci işlenen bir aralıksa ve bunlara (+) operatörünü uygulamak istiyorsak, sonuç değeri DateTime türündedir.
- İlk işlenen DateTime ve ikinci işlenen bir aralıksa ve bunlara (-) operatörünü uygulamak istiyorsak, sonuç değeri DateTime türündedir.
- İlk işlenen aralık ve ikinci işlenen DateTime ise ve bunlara (+) operatörünü uygulamak istiyorsak, sonuç değeri DateTime türündedir.
- İlk işlenen DateTime ve ikinci işlenen DateTime ise ve bunlara (-) operatörünü uygulamak istiyorsak, sonuç değeri aralık türündedir.
- İlk işlenen aralık ve ikinci işlenen bir aralıksa ve bunlara (+) operatörünü uygulamak istiyorsak, sonuç değeri aralık türündedir.
- İlk işlenen aralık ve ikinci işlenen bir aralıksa ve bunlara (-) operatörünü uygulamak istiyorsak, sonuç değeri aralık türündedir.
- İlk işlenen aralık ve ikinci işlenen sayısal ise ve bunlara (*) operatörünü uygulamak istiyorsak, sonuç değeri aralık türündedir.
- İlk işlenen sayısal ve ikinci işlenen bir aralıksa ve bunlara (*) operatörünü uygulamak istiyorsak, sonuç değeri aralık türündedir.
- İlk işlenen aralık ve ikinci işlenen sayısal ise ve bunlara (/) operatörünü uygulamak istiyorsak, sonuç değeri aralık türündedir.
Datetime ve Interval'de bazı aritmetik işlemlerle Kod Gerçekleştirme.
DECLARE c_dt TIMESTAMP; r_dt TIMESTAMP; s_dt TIMESTAMP; BEGIN c_dt := SYSTIMESTAMP; r_dt:= c_dt + TO_DSINTERVAL ('1600 5:20:1'); DBMS_OUTPUT.PUT_LINE ('Addition of datetime and Interval:' ||r_dt); s_dt:= c_dt - TO_DSINTERVAL ('1600 5:20:1'); DBMS_OUTPUT.PUT_LINE ('Subtraction of datetime and Interval:' || s_dt); END;
Yukarıdaki kodun çıktısı:
Yukarıdaki kodun açıklaması:
- Kodda ('1600 5: 20: 1') 1600 gün, 5 saat, 20 dakika ve 1 saniye anlamına gelir .
- İlk çıktıda, ilk işlenen DateTime ve ikinci işlenen bir aralıktır. Bunları ekledikten sonra, AM olarak 24 Aralık olarak bir tarih aldık.
- İkinci çıktıda, ilk işlenen DateTime ve ikinci işlenen bir aralıktır. İlk olarak saniyeden çıkarıldığında, PM saatiyle 20-MAR olarak bir tarih elde ettik.
Sıkça Sorulan Sorular ve Cevaplar
S # 1) Geçerli zaman damgası nedir?
Cevap: Geçerli zaman damgası veya CURRENT_TIMESTAMP, sunucuda bir SQL ifadesi yürütülürken gün saatinin saatinin okunmasına bağlı olan bir zaman damgasını açıklar.
S # 2) Sysdate Oracle'da ne döndürür?
Cevap: Sysdate () işlevi, veritabanının bulunduğu işletim sisteminde yapılandırılan geçerli tarih ve saati getirir. Verdiği değerin veri türü DATE'dir.
S # 3) Hangi PL / SQL işlevi mevcut sistem tarihini ve saatini verir?
Cevap: Geçerli sistem tarihini ve saatini veren PL / SQL işlevi SYSDATE () 'dir.
yönlendiricide ağ güvenlik anahtarı nasıl bulunur
S # 4) DUAL SQL nedir?
Cevap: DUAL, bir veri sözlüğü ile birlikte varsayılan olarak Oracle tarafından oluşturulan bir veritabanı tablosudur. Bir satır ve bir sütun içerir. DUAL, SYS'ye aittir ancak tüm kullanıcılar tarafından kullanılabilir.
S # 5) PL SQL'de bir tarih değişkenini nasıl bildirirsiniz?
Cevap: PL / SQL'de aşağıda verilen sözdizimi ile bir tarih değişkeni tanımlayabiliriz:
DECLARE stdt DATE := to_date ('06/06/2006', 'DD/MM/YYYY');
S # 6) Oracle'daki tarih biçimi nedir?
Cevap: Oracle'da girdi ve çıktı için standart tarih biçimi 'GG / AY / YY' şeklindedir. Bu, NLS_DATE_FORMAT parametresindeki değerle yapılandırılır.
Sonuç
Bu PL SQL Datetime Formatı eğitiminde, bunları programlamada kullanmak için gerekli olan bazı temel PL / SQL Tarih ve Saat kavramlarını ayrıntılı olarak tartıştık.
Aşağıda listelenen aşağıdaki konuları ele aldık:
- Tarih ve saat.
- Tarih Saat, Zaman Damgası ve Aralık ile ilgili işlevler.
- Tarih Saat ve Aralıkta aritmetik işlemler.
- Tarih Saat ve Aralık'taki değerleri alan.
Önerilen Kaynaklar
- Örneklerle C ++ 'da Tarih ve Saat İşlevleri
- Örneklerle Python DateTime Eğitimi
- C # DateTime Öğreticisi: Örnekle C # 'da Tarih ve Saatle Çalışma
- Alt programlar: Örneklerle PL SQL Prosedürleri ve İşlevleri
- VBScript Tarih İşlevleri: Tarih Biçimi, DateAdd ve cDate İşlevleri
- Örneklerle Yeni Başlayanlar İçin PL SQL Eğitimi | PL / SQL Nedir