Süzgeç durumlarını formülleştirmek
Filtre durumlarını formül olarak yazarken, değişik çeşitlilikte işlemci ve komut sizin için kullanılabilir durumdadır. İlişkisel işlemcilerden ziyade, veritabanı alanlarının içeriğini sorgulayan SQL’e özel komutlar vardur. Eğer bu komutları LibreOffice sözdizimi içerisinde kullanırsanız, LibreOffice bunları otomatik olarak karşılık gelen SQL sözdizimlerine dönüştürür. Aynı zamanda SQL komutunu doğrudan da yazabilirsiniz. Takip eden tablo işlemci ve komutlar hakkında bir önizleme sağlar:
(herhangi bir sayıda karakter için % yer tutucusu
tam bir karakter için _ yer tutucusu)
| İşlemci | Anlam | Koşul sağlanır, eğer… | |||
| = | eşittir | … alanın içeriği belirtilen ifadeyle özdeşse.Sorgu alanlarında = işareti gösterilmez. Eğer her hangi bir işlem işareti olmadan bir değer girerseniz, = işareti otomatik olarak benimsenir. | |||
| <> | eşit değildir | … alanın içeriği belirtilen ifadeye karşılık gelmiyorsa. | |||
| > | büyüktür | … alanın içeriği belirtilen ifadeden büyükse. | |||
| < | küçüktür | … alanın içeriği belirtilen ifadeden küçükse. | |||
| >= | büyük veya eşit | … alanın içeriği belirtilen ifadeden büyük veya eşitse. | |||
| <= | küçük ya da eşittir | … alanın içeriği belirtilen ifadeden küçük veya eşitse. | |||
| LibreOffice komutu | SQL komutu | Anlam | Koşul sağlanır, eğer… | ||
| IS EMPTY | IS NULL | boştur | … Alan adı boş. Üç durumlu Evet/Hayır alanları için, bu komut otomatik olarak karar verilmeyen durumu sorgular (Evet ya da Hayır). | ||
| IS NOT EMPTY | IS NOT NULL | boş değildir | … alan ismi boş değilse. | ||
| LIKE(herhangi bir sayıda karakter için * yer tutucusu tam bir karakter için ? yer tutucusu) | LIKE | şunun bir ögesi | … veri alanı belirtilen ifadeti içerir. “*” yer tutucusu, x ifadesinin başta mı (x*), sonda mı (*x) veya alan içeriğinin içinde mi (*x*) olduğunu ifade eder. Bir yertutucu olarak SQL sorguları içerisine % SQL karakterini veya benzeri dosya sistemi yertucusunu (*) LibreOffice arayüzü içerisine yazabilirsiniz.· veya % yertutucusu herhangi bir saydaki karaktere karşılık gelir. LibreOffice arayüzündeki soru işareti (?) veya alt çizgi (_) SQL sorguları içerisinde sadece bir karakteri temsil etmek için kullanılır. | ||
| NOT LIKE | NOT LIKE | Elemanı değildir | … alan ismi belirtilen ifadeyi içermezse. | ||
| BETWEEN x AND y | BETWEEN x AND y | [x,y] aralığına düşer | … alan ismi x ve y arasındaki bir değeri içerirse. | ||
| NOT BETWEEN x AND y | NOT BETWEEN x AND y | [x,y] aralığına düşmez | … alan ismi x ile y aralığında olmayan bir değer içerirse. | ||
| IN (a; b; c…)Listenin tüm elemanlarını ayırmak için noktalı virgül kullanıldığına dikkat edin! | IN (a, b, c…) | a, b, c… yi içerir | … alan adı belirtilen a, b, c… ifadelerinden birini içerir. Herhangi bir sayıda ifade belirtilebilir, sorgunun sonucu bir Or bağlantısı ile belirtilir. a, b, c… ifadesi karakter veya sayılardan oluşabilir | ||
| NOT IN (a; b; c…) | NOT IN (a, b, c…) | a, b, c… yi içermez | … alan ismi belirtilen ifadelerden birini a, b, c,… içermezse | ||
| = TRUE | = TRUE | doğru değerine sahiptir | … alan ismi True değerini içerirse. | ||
| = FALSE | = FALSE | yanlış değerine sahiptir | … alan ismi yanlış değerine sahipse. | ||
Örnekler
| =’Ms.’ | “Ms.” içeriğine sahip alanların isimlerini döndürür |
| <‘2001-01-10’ | 10 Ocak 2001 tarihinden bu yana geçen gün sayısını döndürür” |
| LIKE ‘g?ve’ | alan içeriği “give” ve “gave” gibi olan alanların isimlerini döndürür. |
| LIKE ‘S*’ | “Sun” gibi içeriği olan alanların isimlerini döndürür. |
| BETWEEN 10 AND 20 | 10 ile 20 arasında değerlere sahip alanların isimlerini döndürür. (Bu alnalar metin alanı veya sayı alanı olabilir). |
| IN (1; 3; 5; 7) | 1, 3, 5, 7 değerlerine sahip alanların isimlerini döndürür. Eğer alan ismi bu sayılardan birini içerirse, örneğin, belirli bir sayıyı içeren maddeyi döndürecek şekilde bir soru oluşturabilirsiniz. |
| NOT IN (‘Smith’) | “Smith” değerini içermeyen alan isimlerini döndürür. |
Like Kaçış Sıralamaları: {escape ‘escape-character’}
Örnek: select * from Item where ItemName like ‘The *%’ {escape ‘*’}
Bu örnek öğe adı ‘The *’ ile başlayan tüm girdileri size verecektir. Bunun anlamı yertutucu olarak yorumlanan karakterleri de, *, ?, _, % veya nokta gibi, arayabilirsinizdir.
Dış Birleştirme Kaçış Tuşu Dizisi: {oj outer-join}
Örnek: select Article.* from {oj item LEFT OUTER JOIN orders ON item.no=orders.ANR}
Metin alanlarını sorgulamak
Metin alanını sorgulamak için, ifadeyi tek tırnaklar arasına koymalısınız. Büyük ve küçük harfler arasındaki fark kullanılan veritabanına bağlıdır. LIKE, varsayılan olarak, harf duyarlıdır (yine de bazı veritabanları bunu o kadar kesin görmez).
Veri alanlarını sorgulamak
Veri alanları tarih olduklarını belirten #Date# ifadesiyle temsil edilirler. Bir durumda kullanılan tarih, zaman ve tarih/zaman sabitleri (değişmezleri) SQL Kaçış Sözdizimi türünde veya varsayılan SQL2 sözdiziminde olabilirler.
| Veri Türü Ögesi | SQL Vazgeçme sözdizimi No 1 – artık kullanılmıyor olabilir | SQL Vazgeçme sözdizimi No 2 | SQL2 sözdizimi |
| Tarih | {D’YYYY-AA-DD’} | {d ‘YYYY-AA-DD’} | ‘YYYY-AA-GG’ |
| Zaman | {D’SS:DD:SS’} | {t ‘SS:DD:SS[.SS]’} | ‘SS:MI:SS[.SS]’ |
| TarihZaman | {D’YYYY-MM-DD HH:MM:SS’} | {ts ‘YYYY-MM-DD HH:MI:SS[.SS]’} | ‘YYYY-MM-DD HH:MI:SS[.SS]’ |
Örnek: select {d ‘1999-12-31′} from world.years
Örnek: select * from benimtablom where yillar=’1999-12-31’
Tüm tarih ifadeleri (değişmezleri) tek tırnak içine alınmalıdır. (Kullandığınız veritabanı ve bağlayıcılar hakkında ayrıntılı bilgi için kaynaklarına bakabilirsiniz.)
Evet/Hayır alanlarını sorgulamak
Evet/Hayır alanlarını sorgulamak için, dBASE tabloları için takip eden sözdizimini kullanın:
| Durum | Sorgu kriteri | Örnek | |
| Evet | dBASE tabloları için: verilen herhangi bir değere eşit değil | =1 “Evet” veya “Açık” (siyah olarak seçili) alan değerine sahip tüm Evet/Hayır kayıtlarını döndürür. | |
| Hayır | . | =0 “Hayır” veya “Kapalı” durum değerine sahip alan Evet/Hayır alanlarını içeren tüm kayıtları getirir. | |
| Boş | IS NULL | IS NULL Evet/Hayır alanlarında ya Evet ya da Hayır durumuna sahip (gri olarak seçili) tüm kayıtları getirir. | |
| Sözdizimi kullanılan veritabanına sistemine bağlıdır. Evet/Hayır alanlarının farklı tanımlanabileceğini de unutmayın (3 yerine sadece 2 durum). | |||
Parametre sorguları
Değişken parametreli sorgu oluşturmak için değişkeni köşeli parantezler arasına (=[x]) yerleştirmelisiniz. Değişik olarak, eşit işaretini takip eden iki nokta da kullanabilirsiniz (=:x). Sorgu çalıştırıldığı zaman, program size x değerinin atanması gereken ifadeyi soran bir iletişim penceresi gösterecektir.
Birden fazla parametreyi aynı anda sorgularsanız, tüm parametreleri ve herbirinin karşılarında bire girdi satırı olan bir alan listesini iletişim penceresi içerisinde görürsünüz. Tercihen yukarıdan aşağı doğru değerleri girin ve her bir satırdan sonra Enter tuşuna basın.
| Yer tutucularla (*, _) veya özel karakterlerle (örneğin, ?) ile parametre sorguları yapılamaz. |
Eğer bir parametre sorgusunu formül olarak yazarsanız ve değişkenleri ile kaydederseniz, daha sonra sadece değişkenleri ifadeler ile değiştirilmesi gereken bir sorgu olurşturabilirsiniz. LibreOffice bu değişkenleri sorguyu açar açmaz sorar.
Parametre Girişi
Parametre Girişi iletişim pencresi sorgu içerisinde tanımladığınız değişkenleri sorar. Her bir sorgu değişkeni için bir değer girin ve TAMAM’a tıklayıp onaylayın.
Parametre sorguları aynı zamanda alt formlar için de kullanılır, çünkü değerleri dahili olarak bir değişkenden gelen sorgular için özellikle çalışırlar.
Bir parametre sorgusu SQL ifadesi içinde takip eden biçimlerde olabilir:
select * from ‘addresses’ where ‘name’ = :placeholder
SosyalSanat Değişmeyen tek şey değişimdir