Rumah / Jaringan sosial / Seperti dalam permintaan 1s. Mirip dengan kondisi kueri. % adalah arti literal angka arbitrer dari karakter apa pun

Seperti dalam permintaan 1s. Mirip dengan kondisi kueri. % adalah arti literal angka arbitrer dari karakter apa pun

Operator LIKE dalam kueri memeriksa nilai string dari tabel untuk kesamaan dengan suatu pola.
Digunakan sebagai berikut di sebelah kiri operator ini adalah string yang akan diperiksa, dan di sebelah kanan adalah template.

Setelah memeriksa, ia mengembalikan True atau False, masing-masing, secara aktif digunakan dalam kondisi.
Simbol layanan berikut digunakan untuk membuat template:

  • % (persentase) - urutan yang berisi sejumlah karakter arbitrer
  • _ (garis bawah) - satu karakter arbitrer
  • […] (satu atau lebih karakter dalam tanda kurung siku) - setiap karakter tunggal yang tercantum di dalam tanda kurung siku
    Selain itu, selain berbagai karakter, rentang dapat digunakan, misalnya a-z(A-z), yang berarti ada karakter arbitrer yang termasuk dalam rentang, termasuk ujung rentang.
  • [^…] (dalam tanda kurung siku tanda negasi diikuti oleh satu atau lebih karakter) - setiap karakter tunggal, kecuali yang terdaftar setelah tanda negasi

Karakter yang tersisa digunakan untuk tujuan yang dimaksudkan.
Jika salah satu karakter layanan di atas harus ditransmisikan sebagai karakter, maka harus didahului oleh<Спецсимвол>. Saya sendiri<Спецсимвол>(setiap karakter yang sesuai) didefinisikan dalam pernyataan yang sama setelah kata kunci KARAKTER KHUSUS.
Misalnya, pola “%ABC[abc]\_abc%” KARAKTER KHUSUS “\” berarti substring yang terdiri dari urutan karakter:
huruf A; huruf B; huruf B; satu angka; salah satu huruf a, b, c atau d; menggarisbawahi karakter; huruf a; huruf b; surat masuk
Selain itu, urutan ini dapat didahului oleh serangkaian karakter yang berubah-ubah.

Prosedur SelectContractContainingInNameText(mText)
//Dalam request, kita akan menggunakan template seperti "%" + mText + "%" Request = New Request; Query.SetParameter("Nama", "%" + Teks + "%"); Query.Text = "SELECT | Agreements.Reference, | Agreements.Owner |FROM | Directory.AgreementsofCounterparties AS Agreements | |WHERE | Agreements.Name LIKE &Name"; Hasil = Permintaan.Jalankan(); Pilihan = Hasil.Pilih(); Report("Perjanjian yang mengandung nama: " + mText + " memiliki Rekanan berikut"); While Selection.Next() Loop Report("Account: " + Selection.Owner + "; Kontrak: " + Selection.Reference EndIf; EndProcedure

SUKA- Operator untuk memeriksa apakah string mirip dengan pola. Analog LIKE dalam SQL.
Operator SUKA memungkinkan Anda untuk membandingkan nilai ekspresi yang ditentukan di sebelah kirinya dengan string template yang ditentukan di sebelah kanan. Nilai ekspresi harus bertipe string. Jika nilai ekspresi cocok dengan template, hasil dari operator adalah TRUE, jika tidak maka FALSE.
Karakter berikut dalam string template adalah karakter layanan dan memiliki arti yang berbeda dari karakter string:
. % (persentase): urutan yang berisi sejumlah karakter arbitrer
. _ (garis bawah): satu karakter arbitrer
. […] (satu atau lebih karakter dalam tanda kurung siku): setiap karakter tunggal yang tercantum di dalam tanda kurung siku
Pencacahan dapat berisi rentang, seperti a-z, yang berarti karakter apa pun dalam rentang, termasuk ujung rentang.
. [^…] (dalam tanda kurung siku tanda negasi diikuti oleh satu atau lebih karakter): karakter tunggal apa pun selain yang tercantum setelah tanda negasi
Simbol lain berarti dirinya sendiri dan tidak membawa beban tambahan.
Jika perlu untuk menulis salah satu karakter yang terdaftar sebagai dirinya sendiri, maka itu harus didahului oleh<Спецсимвол>. Saya sendiri<Спецсимвол>(setiap karakter yang sesuai) didefinisikan dalam pernyataan yang sama setelah kata kunci KARAKTER KHUSUS.
Sebagai contoh, pola “%ABC[abc]\_abc%” KARAKTER KHUSUS “\” berarti substring yang terdiri dari urutan karakter:
huruf A; huruf B; huruf B; satu angka; salah satu huruf a, b, c atau d; menggarisbawahi karakter; huruf a; huruf b; surat masuk
Selain itu, urutan ini dapat didahului oleh serangkaian karakter yang berubah-ubah.

Contoh penggunaan:
Kode 1C v 8.x Prosedur BankTextInputEnd(Element, Text, Value, StandardProcessing)
StandardProcessing = Salah;
//Buat kueri dengan mencari pola seperti "%" +<Текст введенный пользователм в поле ввода> + "%"
Permintaan = Permintaan Baru;
Query.SetParameter("Nama", "%" + Teks + "%");
Query.Teks = "PILIH
| Bank.Link
| DARI
| Direktori Bank AS Bank
| DIMANA
| Banks.Nama ADALAH SEPERTI &Nama";

Hasil = Permintaan.Jalankan();
Pilihan = Hasil.Pilih();
Jika Result.Empty() Maka
//Tidak ada yang ditemukan. Di sini Anda dapat menampilkan pesan, atau hal lain yang harus dilakukan :)
Jika tidak
//Dapatkan hasil
tzResults = Hasil.Unload();
//Siapkan daftar nilai yang akan berisi elemen yang ditemukan.
Nilai = Daftar Nilai Baru();
Nilai.LoadValues(tzResults.UnloadColumn("Link"));
Berakhir jika;
AkhirProsedur

Perlu bahwa hanya Nama Perjanjian Utama, dll., yang termasuk dalam "Perjanjian Default":
Kode 1C v 8.x Pilihan
Ketika Nama SEPERTI "Perjanjian #%" lalu "Perjanjian #" // Setiap baris yang dimulai dengan "Perjanjian #" memenuhi syarat
Ketika Namanya LIKE "Main Contract%[^А-яЁё"+Symbol(33)+"-"+Symbol(126)+"№""""+Symbols.PS+Symbols.Tab+Symbols.PF+Symbols. Simbol NPP+.VTab+"]%" lalu "Perjanjian Default" //String apa pun yang dimulai dengan "Perjanjian Utama" akan berfungsi
Lain "Lainnya"
Berakhir Sebagai Jenis Kontrak

Informasi diambil dari situs

Terkadang situasi muncul ketika di 1C 8.3 atau 8.2 Anda perlu membuat pilihan, misalnya, dari direktori semua elemen yang memiliki kata "icing" di namanya. Atau, dari direktori, pilih semua rekanan yang nama belakangnya mengandung kata "Ivan". Secara umum, periksa beberapa nilai string.

Untuk ini, ada operator dalam permintaan 1C 8.3 dan 8.2 - "Suka". Ini digunakan, masing-masing, dalam kondisi:

Dapatkan pelajaran video 267 1C gratis:

Bagaimana cara menggunakan template dalam permintaan 1C?

Untuk membentuk kondisi seleksi, Anda harus melewatkan template sebagai parameter. Untuk membuat template, ada yang disebut simbol layanan.

Misalnya, karakter "%" memungkinkan urutan karakter arbitrer apa pun:

Ada yang lain Simbol khusus:

  • % (persentase) - memungkinkan urutan karakter arbitrer apa pun;
  • _ (garis bawah) - karakter tunggal apa pun;
  • […] adalah salah satu karakter arbitrer dari yang tercantum di dalam tanda kurung. Selain menghitung karakter, Anda dapat menggunakan rentang. Contoh: a-o;
  • [^…] – sama dengan yang sebelumnya, tetapi sebaliknya. Tanda "^" berarti negasi.

Pada artikel ini, kami ingin berdiskusi dengan Anda semua fungsi bahasa kueri 1s, sebaik konstruksi bahasa kueri. Apa perbedaan antara fungsi dan struktur? Fungsi dipanggil dengan tanda kurung dan parameter yang memungkinkan di dalamnya, dan konstruksinya ditulis tanpa tanda kurung. Niscaya semua konstruksi dan fungsi bahasa kueri 1s membuat proses akuisisi data fleksibel dan multifungsi. Fungsi dan konstruksi ini berlaku untuk bidang kueri, dan beberapa juga berlaku untuk kondisi.

Fungsi Bahasa Kueri 1s

Karena deskripsi yang jelas fungsi bahasa kueri 1s jauh lebih umum daripada deskripsi struktur, kami memutuskan untuk mulai melihat fungsi. Sekarang mari kita menganalisis masing-masing secara terpisah, menjelaskan tujuan, sintaks dan contoh penggunaannya, jadi:

1. Fungsi TANGGAL WAKTU - fungsi yang diberikan membuat bidang konstan dengan tipe "Tanggal".

Sintaksis: TANGGAL WAKTU(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Contoh penggunaan:

2. Fungsi PERBEDAAN TANGGAL- mengembalikan perbedaan dua tanggal di salah satu dimensi (tahun, bulan, hari, jam, menit, detik). Pengukuran dilewatkan sebagai parameter.

Sintaksis: TANGGAL PERBEDAAN(<Дата1>, <Дата2>, <Тип>)

Contoh penggunaan:

Query.Text = "PILIH | PERBEDAAN TANGGAL(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | SEBAGAI Jumlah Hari";

3. Fungsi NILAI- menetapkan bidang konstan dengan entri yang telah ditentukan dari database, Anda juga bisa mendapatkan referensi nol dari jenis apa pun.

Sintaks: VALUE(<Имя>)

Contoh penggunaan:

Query.Teks = "PILIH // elemen yang telah ditentukan sebelumnya| NILAI(Referensi.Mata Uang.Dolar) AS Dolar, //referensi kosong | VALUE(Document.IncomingGoods/Services.EmptyReference) SEBAGAI Masuk, //nilai. transfer | NILAI(Pencacahan.LegalIndividual.Individual) SEBAGAI Perorangan, //akun standar | VALUE(Bagan Akun. Swadaya. Bahan) SEBAGAI Akun_10" ;

4. fungsi PILIH- kami memiliki analog konstruksi IF yang digunakan dalam kode, hanya yang ini yang digunakan dalam kueri 1C.

Sintaksis: PILIHAN KAPAN<Выражение>KEMUDIAN<Выражение>JIKA TIDAK<Выражение>TAMAT

Contoh penggunaan:

Request.Text = //jika jumlahnya lebih dari 7500, maka harus ada diskon 300 rubel, //oleh karena itu, jika kondisi dipicu, maka fungsi //mengembalikan Jumlah - 300 //jika tidak, permintaan hanya akan mengembalikan Jumlah "SELECT | SELECT | WHEN PMIncome.Amount > 7500 | THEN PTReceipts.Amount - 300 | ELSE PTReceipts.Amount | END AS AmountDiscounted |FROM | Document.ReceiptofGoodsServices.Goods AS PTReceipts";

5. fungsi EKSPRES- memungkinkan Anda untuk mengekspresikan bidang konstan dengan tipe tertentu.

Sintaksis: EXPRESS(NamaBidang SEBAGAI NamaJenis)

Contoh penggunaan:

Query.Text = "PILIH BERBAGAI | Sales.Registrar.Number, | SELECT | WHEN Sales.Registrar REF Document.Expense | THEN EXPRESS(Sales.Registrar AS Document.Expense) | ELSE SELECT | WHEN Sales.Registrar REF Document.Implementation | THEN EXPRESS(Sales.Registrar AS Document.Release) | END | ... | END AS Number | FROM | Akumulasi Register.Pembelian SEBAGAI Pembelian";

Masih ada varian penggunaan fungsi EXPRESS di bidang tipe campuran di mana bertemu seperti itu? Contoh paling sederhana adalah "Pendaftar" untuk register apa pun. Jadi mengapa kita perlu memenuhi syarat jenis di registrar? Mari kita pertimbangkan situasi ketika kita memilih bidang "Nomor" dari registrar, dari tabel mana nomor akan dipilih? Jawaban yang benar dari semuanya! Oleh karena itu, agar kueri kita bekerja dengan cepat, kita harus menentukan tipe eksplisit menggunakan fungsi EXPRESS

Contoh penggunaan:

Query.Text = "CHOOSE | EXPRESS(Nomenclature.Comment AS String(300)) AS Comment, | EXPRESS(Nomenclature.Sum AS Number(15,2)) AS Sum |FROM | Reference.Nomenclature AS Nomenclature";

6. Fungsi ISNULL(ejaan alternatif IS NULL) - jika bidang bertipe NULL, maka akan diganti dengan parameter kedua dari fungsi tersebut.

Sintaksis: ISNULL(<Поле>, <ПодставляемоеЗначение>)

Contoh penggunaan:

Perhatikan juga bahwa diinginkan untuk SELALU mengganti tipe NULL dengan beberapa nilai, karena perbandingan dengan NULL selalu mengevaluasi ke FALSE bahkan jika Anda membandingkan NULL dengan NULL. Paling sering, nilai NULL terbentuk sebagai hasil dari gabungan tabel (semua jenis gabungan kecuali bagian dalam).

Query.Text = //Pilih seluruh item dan saldo di dalamnya //jika tidak ada saldo di beberapa item, maka akan ada field //NULL yang akan diganti dengan nilai 0 "SELECT | No.Reference, | ISNULL(GoodsInWarehouseRemains.InStockRemaining, 0) BAGAIMANA Sisanya | DARI | Direktori. Nomenklatur SEBAGAI Nom | KIRI GABUNG Daftar akumulasi.

7. Fungsi REPRESENTASI- memungkinkan Anda untuk mendapatkan representasi dari bidang permintaan.

Sintaksis: PERTUNJUKAN(<НаименованиеПоля>)

Contoh penggunaan:

Query.Text = "SELECT | REPRESENTATION(Free RemainsRemains.Nomenclature) SEBAGAI Nomenklatur, | REPRESENTASI(FreeRemainsRemains.Warehouse) AS Warehouse, | FreeRemainsRemains.AvailableRemains |FROM | Akumulasi Register.FreeRemains.Tetap Gratis";

Konstruksi dalam bahasa kueri 1s

Di atas kami berdiskusi dengan Anda fungsi bahasa kueri 1s, sekarang saatnya untuk mempertimbangkan konstruksi dalam bahasa kueri 1s, mereka tidak kalah penting dan berguna, mari kita mulai.

1. LINK Konstruksi- adalah operator pengecekan tipe referensi logis. Paling sering ditemui saat menguji bidang tipe komposit untuk tipe tertentu. Sintaksis: TAUTAN<Имя таблицы>

Contoh penggunaan:

Query.Text = //jika tipe nilai registrar adalah dokumen Receipt, //maka query akan mengembalikan "Barang Masuk", sebaliknya "Penjualan Barang" "SELECT | SELECT | WHEN Remains.Registrar LINK Document.Incoming GoodsServices | THEN ""Masuk" | ELSE "Beban" | AKHIR SEBAGAI Jenis Pergerakan | DARI | Daftar Akumulasi. Sisa Barang di Gudang SEBAGAI Sisa ";

2. Konstruksi ANTARA - operator yang diberikan memeriksa apakah nilainya berada dalam kisaran yang ditentukan.

Sintaksis: DI ANTARA<Выражение>Dan<Выражение>

Contoh penggunaan:

Query.Text = //dapatkan semua nomenklatur yang kodenya berkisar dari 1 sampai 100 "SELECT | Nomenclature.Reference |FROM | Catalog.Nomenclature AS Nomenclature |WHERE | Nomenclature.Code BETWEEN 1 AND 100" ;

3. Konstruksi B dan B dari HIERARCHY- periksa apakah nilainya ada dalam daftar yang diteruskan (array, tabel nilai, dll. dapat diteruskan sebagai daftar). Operator IN HIERARCHY memungkinkan Anda untuk melihat hierarki (contoh penggunaan PlanAccounts).

Sintaksis: PADA(<СписокЗначений>), DALAM HIERARKI(<СписокЗначений>)

Contoh penggunaan:

Query.Text = // pilih semua sub-akun akun "PILIH | Mandiri. Tautkan Akun AS | FROM | Rencana Akun. Mandiri SEBAGAI Mandiri | WHERE | Mandiri. Referensi DALAM NILAI HIERARCHI( Jadwal Pembukuan. Swadaya. Barang)";

4. Konstruksi SEPERTI- fungsi ini memungkinkan kita untuk membandingkan string dengan pola string.

Sintaksis: SUKA"<ТекстШаблона>"

Opsi templat baris:

% - urutan yang berisi sejumlah karakter arbitrer.

Satu karakter yang sewenang-wenang.

[...] - setiap karakter tunggal, atau urutan karakter yang tercantum di dalam tanda kurung siku. Pencacahan dapat berisi rentang, seperti a-z, yang berarti karakter apa pun dalam rentang, termasuk ujung rentang.

[^...] - karakter tunggal apa pun, atau urutan karakter yang tercantum di dalam tanda kurung siku, kecuali yang tercantum setelah tanda negasi.

Contoh penggunaan:

Query.Text = //menemukan seluruh nomenklatur yang berisi root TABUR dan diawali //baik dengan huruf kecil atau dengan huruf kapital t "SELECT | Nomenclature.Reference |FROM | Directory.Nomenclature AS Nomenclature |WHERE | Goods.Name LIKE ""[Тт ]abu%""" ;

5. Desain DIPERBOLEHKAN- pernyataan ini memungkinkan Anda untuk memilih hanya catatan-catatan itu dari database yang hak untuk dibaca oleh pemanggil. Hak-hak ini dikonfigurasi pada tingkat catatan (RLS).

Sintaksis: ALLOWED ditulis setelah kata kunci SELECT

Contoh penggunaan:

Query.Text = "PILIH DIPERBOLEHKAN | Counterparties.Reference |FROM | Directory.Counterparty SEBAGAI Counterparties";

6. Konstruksi BERBAGAI- memungkinkan Anda untuk memilih catatan di mana tidak ada catatan berulang.

Sintaksis: BERBEDA ditulis setelah kata kunci SELECT

Contoh penggunaan:

Request.Text = //memilih catatan di mana pembaca memiliki hak "SELECT DIFFERENT | Counterparties.Name |FROM | Directory.Counterparties AS Counterparties" ;

Konstruksi DIFFERENT juga dapat digunakan dengan operator ALLOWED dan operator lainnya.

Contoh penggunaan:

Query.Text = //memilih berbagai catatan di mana pembaca memiliki hak "PILIH DIPERBOLEHKAN BERBEDA | Kontraktor.Nama |FROM | Direktori.Kontraktor SEBAGAI Kontraktor";

7. Konstruksi PERTAMA- memilih jumlah catatan yang ditentukan dalam parameter dari hasil kueri.

Sintaks: PERTAMA<число>

Contoh penggunaan:

Query.Text = //pilih 4 nomor GTD pertama dari direktori "SELECT THE FIRST 4 | GTD Numbers.Reference |FROM | Catalog.GTE Numbers AS GTD Numbers";

8. Desain UNTUK PERUBAHAN- memungkinkan Anda untuk mengunci meja, hanya berfungsi dalam transaksi (hanya relevan untuk kunci otomatis).

Sintaksis: UNTUK PERUBAHAN<НаименованиеТаблицы>

Contoh penggunaan:

Query.Text = "PILIH | FreeRemainsRemains.Nomenclature, | FreeRemainsRemains.Warehouse, | FreeRemainsRemains.AvailableRemains |FROM | Akumulasi Register.FreeRemains.Tetap SEBAGAI GratisTetap Tetap |UNTUK PERUBAHAN |

9. Struktur ORDER BY- mengurutkan data berdasarkan bidang tertentu. Jika bidangnya adalah tautan, maka saat mengatur bendera PEMESANAN OTOMATIS akan diurutkan menurut representasi tautan, jika bendera mati, maka tautan diurutkan berdasarkan senioritas alamat tautan di memori.

Sintaksis: SORTIR DENGAN<НаименованиеПоля>PEMESANAN OTOMATIS

Contoh penggunaan:

Query.Text = "SELECT | FreeRemainsRemains.Nomenclature SEBAGAI Nomenklatur, | FreeRemainsRemains.Warehouse AS Warehouse, | FreeRemainsRemains.In StockRemaining |FROM |

10. Desain KELOMPOK OLEH- digunakan untuk mengelompokkan string kueri menurut bidang tertentu. Bidang numerik harus digunakan dengan fungsi agregat apa pun.

Sintaksis: KELOMPOK OLEH<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Contoh penggunaan:

Query.Text = "PILIH | ItemsInWarehouse.Nomenclature SEBAGAI Nomenklatur, | ItemsInWarehouse.Warehouse, | SUM(ItemsInWarehouse.InStock) SEBAGAI InStock |FROM |

11. Desain MEMILIKI- memungkinkan Anda untuk menerapkan fungsi agregat ke kondisi pemilihan data, mirip dengan konstruksi WHERE.

Sintaksis: MEMILIKI<агрегатная функция с условием>

Contoh penggunaan:

Query.Text = //memilih catatan yang dikelompokkan di mana bidang InStock lebih besar dari 3 "SELECT | GoodsInStock.Nomenclature AS Nomenclature, | GoodsInWarehouse.Warehouse, | SUM(ItemsInWarehouse.InStock) SEBAGAI InStock |FROM | Akumulasi Register.GoodsInWarehouses SEBAGAI GoodsInWarehouses | |GROUP BY | GoodsIn Warehouses.Nomenclature, | GoodsIn Warehouses.Warehouse | |HAVING | AMOUNT(GoodsIn Warehouses.In Stock) > 3" ;

12. INDEX BY konstruksi- digunakan untuk mengindeks bidang kueri. Kueri yang diindeks membutuhkan waktu lebih lama untuk diselesaikan, tetapi mempercepat pencarian di bidang yang diindeks. Hanya dapat digunakan dalam tabel virtual.

Sintaksis: INDEKS OLEH<Поле1, ... , ПолеN>

Contoh penggunaan:

Query.Text = "SELECT | Tz.OS Name, | Tz.Folder Number, | Tz.CodeOS, | Tz.Term, | Tz.Type |PUT DataTz |FROM | &Tz BAGAIMANA Tz | | INDEX BY | Tz.OS Name , | Tz .CodeOS";

13. Konstruksi DI MANA- memungkinkan Anda untuk menerapkan kondisi pada bidang pilihan apa pun. Hanya catatan yang memenuhi kondisi yang akan disertakan dalam hasil.

Sintaksis: DI MANA<Условие1 ОператорЛогСоединения УсловиеN>

Contoh penggunaan:

Query.Text = //pilih semua record dengan CompensationRemainder<>0 dan //AmountFor Calc.CompBalance > 100 "SELECT | Kompensasi RPO balances.Account, | Kompensasi RPO balances.Child, | Compensation RPO balances. Compensation Balance, | Compensation RPO balances. AmountFor Calc. Comp Balance | PLACE DataTz |FROM | Daftar Akumulasi Kompensasi RP Saldo SEBAGAI Kompensasi Saldo RPO |<>0 | Dan Kompensasi saldo RPO. Jumlah Untuk CalcComp Residual > 100" ;

14. HASIL Desain ... SECARA UMUM- digunakan untuk menghitung total, desain menentukan bidang yang totalnya akan dihitung dan fungsi agregat diterapkan ke bidang ringkasan. Saat menggunakan total untuk setiap bidang mengikuti konstruksi TOTALS, data dikelompokkan. Ada konstruksi opsional UMUM, penggunaannya juga menyediakan pengelompokan tambahan. Anda dapat melihat contoh hasil query di bawah ini.

Sintaksis: HASIL<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>PADA<ОБЩИЕ> <Поле1, ... , ПолеN>

Contoh penggunaan:

Query.Text = "PILIH | Settlements.Counterparty Agreement.Type of Agreement SEBAGAI Jenis Perjanjian, | Settlements.Countryparty Agreement SEBAGAI Perjanjian, | Settlements.Counterparty, | Settlements.Jumlah Penyelesaian Saldo SEBAGAI Saldo | DARI | | Perangkat Lunak | UMUM, | Jenis Kontrak";

Pengelompokan yang terbentuk selama eksekusi permintaan dilingkari pada gambar, yang teratas mengacu pada bagian UMUM, dan yang kedua ke bidang ContractContractorTypeContract.

Operator SUKA memungkinkan Anda untuk membandingkan dalam kueri data tipe string di sebelah kiri operator dengan data tipe string di sebelah kanan operator. Hasil perbandingan adalah True atau False, sehingga perbandingan tersebut dapat diterapkan sebagai suatu kondisi.

Untuk operator SUKA karakter layanan khusus disediakan yang tidak dianggap sebagai string:

  • Simbol persen "%": menunjukkan adanya sejumlah karakter arbitrer dalam string
  • "[...]" satu atau lebih karakter dalam tanda kurung siku: menunjukkan adanya (tunggal) dari karakter yang terdaftar. Juga, berbagai karakter dapat ditentukan (misalnya )
  • karakter garis bawah "_": menunjukkan adanya karakter arbitrer apa pun
  • Karakter negasi "[^...]": menunjukkan adanya karakter tunggal selain yang ada dalam tanda kurung siku
Jika Anda perlu menentukan salah satu karakter khusus di atas untuk perbandingan, Anda harus menggunakan kata kunci"SIMBOL KHUSUS"

Fitur penggunaan dengan berbagai DBMS

IBM DB2" Hanya parameter yang dapat ditempatkan di sebelah kanan operator LIKE. Satu-satunya karakter wildcard adalah "_" (garis bawah berarti karakter apa pun) dan "%" (persentase artinya urutan karakter apa pun).
Dalam hal menggunakan DBMS " PostgreSQL" atau " Basis Data Oracle"karakter khusus "kurung persegi [...]" diterima hanya jika ditentukan oleh teks dalam permintaan, dan TIDAK diteruskan sebagai parameter permintaan.

Jadi, dalam basis file, karakter khusus akan selalu dirasakan dengan cara yang sama, dan dengan cara yang berbeda, tergantung pada DBMS yang digunakan dalam versi client-server.

Contoh: pilih produk yang mengandung simbol "%" pada namanya

PILIH | Tautan Referensi | DARI | Spravochnik.Nomenklatur BAGAIMANA ref | WHERE | Ref Nama SEPERTI "%\%" KARAKTER KHUSUS "\"

Contoh: pilih produk yang namanya dimulai dengan kata "Tank"

PILIH | Tautan Referensi | DARI | Spravochnik.Nomenklatur BAGAIMANA ref | WHERE | Ref Nama SEPERTI "Buck%"

Contoh: pilih produk yang namanya diakhiri dengan angka

PILIH | Tautan Referensi | DARI | Spravochnik.Nomenklatur BAGAIMANA ref | WHERE | Nama Referensi SEPERTI "%"