Tarih ve Saat Fonksiyonları

Tarih ve saat fonksiyonları, DATE ve DATETIME öğelerine dayalı olarak verileri değiştirir.

Fonksiyon Örnek Açıklama Sözdizimi

CURRENT_Date

CURRENT_DATE

Geçerli tarihi verir.

Tarih, Oracle İş Zekası'nın çalıştığı sistem tarafından belirlenir.

CURRENT_DATE

CURRENT_TIME

CURRENT_TIME(3)

Belirtilen sayıdaki duyarlılık basamağı için geçerli zamanı döndürür (örneğin SS:DD:SS.SSS)

Bağımsız bir değişken belirtilmemişse, fonksiyon duyarlılık öndeğerini döndürür.

CURRENT_TIME(expr)

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP(3)

Belirtilen sayıdaki duyarlılık basamağı için, geçerli tarihi/zaman damgasını döndürür.

CURRENT_TIMESTAMP(expr)

DAYNAME

DAYNAME(Order_Date)

Belirtilen tarih ifadesi için haftanın ilgili gününün adını döndürür.

DAYNAME(expr)

DAYOFMONTH

DAYOFMONTH(Order_Date)

Belirtilen tarih ifadesi için, ayın ilgili gününe karşılık gelen sayıyı döndürür.

DAYOFMONTH(expr)

DAYOFWEEK

DAYOFWEEK(Order_Date)

Belirtilen tarih ifadesi için, haftanın ilgili gününe karşılık gelen 1-7 arasında bir sayı döndürür. Örneğin, 1 sayısı daima Pazar gününü, 2 Pazartesiyi verir. Bu şekilde devam ederek en son 7'yi döndüren Cumartesi gelir.

DAYOFWEEK(expr)

DAYOFYEAR

DAYOFYEAR(Order_Date)

Belirtilen tarih ifadesi için, yılın ilgili gününe karşılık gelen 1-366 arasında bir sayı döndürür.

DAYOFYEAR(expr)

DAY_OF_QUARTER

DAY_OF_QUARTER(Order_Date)

Belirtilen tarih ifadesi için, üç aylık dönem içindeki güne karşılık gelen 1-92 arasında bir sayı döndürür.

DAY_OF_QUARTER(expr)

HOUR

HOUR(Order_Time)

Belirtilen saat ifadesi için, ilgili saate karşılık gelen 0-23 arasında bir sayı döndürür. Örneğin, 0 (sıfır) sayısı saat 12:00'ı, 23 ise 23:00'ı temsil eder.

HOUR(expr)

MINUTE

MINUTE(Order_Time)

Belirtilen saat ifadesi için, ilgili dakikaya karşılık gelen 0-59 arasında bir sayı döndürür.

MINUTE(expr)

MONTH

MONTH(Order_Time)

Belirtilen tarih ifadesi için, ilgili aya karşılık gelen 1-12 arasında bir sayı döndürür.

MONTH(expr)

MONTHNAME

MONTHNAME(Order_Time)

Belirtilen tarih ifadesi için ilgili ayın adını döndürür.

MONTHNAME(expr)

MONTH_OF_QUARTER

MONTH_OF_QUARTER(Order_Date)

Belirtilen tarih ifadesi için, üç aylık dönem içindeki aya karşılık gelen 1-3 arasında bir sayı döndürür.

MONTH_OF_QUARTER(expr)

NOW

NOW()

Geçerli saat göstergesini verir. NOW fonksiyonu CURRENT_TIMESTAMP fonksiyonunun eşdeğeridir.

NOW()

QUARTER_OF_YEAR

QUARTER_OF_YEAR(Order_Date)

Belirtilen tarih ifadesi için yılın ilgili üç aylık dönemine karşılık gelen, 1-4 arasında bir sayı verir.

QUARTER_OF_YEAR(expr)

SECOND

SECOND(Order_Time)

Belirtilen saat ifadesi için ilgili saniyeye karşılık gelen, 0-59 arasında bir sayı verir.

SECOND(expr)

TIMESTAMPADD

TIMESTAMPADD(SQL_TSI_MONTH, 12,Time."Order Date")

Bir zaman damgasına belirtilen sayıda aralık ekler ve tek bir zaman damgası döndürür.

Aralık seçenekleri: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR

TIMESTAMPADD(interval, expr, timestamp)

TIMESTAMPDIFF

TIMESTAMPDIFF(SQL_TSI_MONTH, Time."Order Date",CURRENT_DATE)

İki saat göstergesi arasında belirtilen aralıkların toplam sayısını verir.

TIMESTAMPADD ile aynı aralıkları kullanın.

TIMESTAMPDIFF(interval, expr, timestamp2)

WEEK_OF_QUARTER

WEEK_OF_QUARTER(Order_Date)

Belirtilen tarih ifadesi için üç aylık dönemin ilgili haftasına karşılık gelen, 1-13 arasında bir sayı verir.

WEEK_OF_QUARTER(expr)

WEEK_OF_YEAR

WEEK_OF_YEAR(Order_Date)

Belirtilen tarih ifadesi için yılın ilgili haftasına karşılık gelen, 1-53 arasında bir sayı verir.

WEEK_OF_YEAR(expr)

YEAR

YEAR(Order_Date)

Belirtilen tarih ifadesi için yılın adını döndürür.

YEAR(expr)

Tarih Fonksiyonlarını Kullanma ile İlgili İpuçları

Mali dönemleri hesaplamak, dizeleri tarihlere dönüştürmek, tarih ve saati belirli bir saat diliminde göstermek ve zaman içindeki farklılıkları hesaplamak için çalışma kitaplarınızdaki tarih fonksiyonlarını kullanırken en iyi sonuçları elde etmeye yönelik bazı ipuçlarını burada bulabilirsiniz.

Mali yılı, üç aylık dönemi ve ayı hesaplayın:

Konu alanları genellikle bir zaman boyutu içerir. Böylece mali üç aylık dönem, mali ay ve mali hafta gibi önceden konfigüre edilmiş dönemleri kullanabilirsiniz. Sadece tarih alanınız varsa tarih fonksiyonlarını kullanarak bu dönemleri kendiniz hesaplayabilirsiniz.

Bu örnek mali üç aylık dönemi hesaplar:

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||'Q'||cast(QUARTER(TIMESTAMPADD(SQL_TSI_MONTH, 7,<same date field>)) as char)

Bu örnek mali yılı ve ayı hesaplar:

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)

Notlar:

  • || değerleri birleştirir.
  • cast (xxx(date) as char) tarih alanının bir kısmını çıkartır.
  • TIMESTAMPADD bir tarihe dönem ekler (veya çıkarır). Bu örnek, ayları eklemek için SQL_TSI_MONTH parametre değerini kullanır.

Yukarıdaki hesaplamalar tablolarda iyi çalışır, ancak filtrelerde kullanıldığında döndürülen değerler arasındaki boşluk tuhaf görünebilir. Bu durumda, aşağıdaki örneklere göre daha temiz ancak daha karmaşık bir hesaplama kullanın:

'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-Q'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<same date field>,7)),'Q')
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-'||evaluate ('to_char(%1,%2)'as char,<same date field>,'MON')

Bir dizeyi tarihe dönüştürün:

Oracle Analitik, verilerinizin profilini oluşturur ve tarihlerin çıkartılıp dönüştürülmesi için zenginleştirme önerileri sağlar. Bir dizeyi kendiniz tarihe dönüştürmeniz gerekirse bu ipuçlarını kullanın.
  • Çalışma kitabı tasarımcısında, veri bölmesinde dönüştürmek istediğiniz sütuna gidin, sağ tıklayın ve Tarihe Dönüştür'ü seçin. Tarihi konfigüre edin ve Adım Ekle'ye tıklayın.

  • Çalışma kitabı tasarımcısında, veri bölmesinde dönüştürmek istediğiniz sütuna gidin, sağ tıklayın ve Düzenle'yi seçin. Tarihi konfigüre edin ve Adım Ekle'ye tıklayın.

    Sütununuzun adını mavi renkte içeren metin kutusunda, sütun adının önüne To_DateTime( ekleyin, sütun adından sonra kullanmak istediğiniz tarih formatını ve ardından ) ekleyin, sonra Adım Ekle'ye tıklayın.
    GUID-ADBD035B-A62A-4DED-8768-553365BAABFE-default.png açıklaması aşağıdadır
    .png'' çiziminin açıklaması

    Tarih dönüştürme fonksiyonunuzu oluşturmak için Düzenle seçeneğini kullandığınızda, tek basamaklı veya iki basamaklı sayılara sahip sütun değerlerini işlemek için Allow_Variable_Digits ve gerekli örüntüyle eşleşmeyen satırları atmak için Null_On_Error bağımsız değişkenlerini de kullanabilirsiniz. Gerekli örüntüyle eşleşmeyen verileri işlemenin alternatif yolları için ayrıca bkz. REPLACE ve CAST.

    To_DateTime() kullanmaya alternatif olarak bir değerin veri tipini değiştirmek için CAST() fonksiyonunu kullanın. Örneğin, CAST(SalesDate AS DATE).

    Ayrıca Değiştir seçeneğini kullanın. Çalışma kitabı tasarımcısında, veri bölmesinde dönüştürmek istediğiniz sütuna gidin, sağ tıklayın ve Değiştir'i seçin. İstediğiniz değiştirme tipini konfigüre edin ve ardından Adım Ekle'ye tıklayın.

Tarih ve saat alanını belirli bir saat diliminde gösterin:

EVALUATE ile birlikte veritabanındaki NEW_TIME fonksiyonunu kullanın. Örneğin:

evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')

Tarih alanının saat bileşenini içerdiğine emin olun.

Zaman içindeki farkı hesaplayın:

Bugün ile dün arasındaki sayı ve yüzde farkını göstermek için aşağıdaki örnekleri temel alarak hesaplamalar oluşturun:
  • Bir ölçüyü düne kadar hesapla: filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • Farkı hesapla: Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • Fark yüzdesini hesapla: 1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure display as percentage

Notlar:

  • Bu örneklerde SQL_TSI_DAY kullanılmıştır, ancak alternatif olarak WEEK ve MONTH haftadan haftaya ve aydan aya sabitlerini kullanabilirsiniz.
  • Bu örnekler normal veya doğal bir takvimle çalışır. Mali aylara ve üç aylık dönemlere ihtiyacınız varsa, hesaplamalarınızda TIMESTAMPADD yerine veri havuzu değişkenlerini kullanın. Alternatif olarak bunu Mali yılı, üç aylık dönemi ve ayı hesaplayın ipucu ile birleştirin.
  • Bazı konu alanları, zaman içindeki farklılıkları hesaplamak için kullanabileceğiniz PY (önceki yıl), PQ (önceki üç aylık dönem) gibi önceden hesaplanmış Önceki X ölçülerini içerir.
  • Alternatif olarak TIME SERIES fonksiyonlarını kullanabilirsiniz: AGO, PERIODROLLING ve TODATE. Zaman Serisi Fonksiyonları konusuna bakın.