Bagikan melalui


Sintaks (SSIS)

Berlaku untuk:SQL Server SSIS Integration Runtime di Azure Data Factory

Sintaks ekspresi Integration Services mirip dengan sintaksis yang digunakan bahasa C dan C#. Ekspresi mencakup elemen seperti pengidentifikasi (kolom dan variabel), literal, operator, dan fungsi. Topik ini meringkas persyaratan unik sintaks evaluator ekspresi saat diterapkan ke elemen ekspresi yang berbeda.

Catatan

Dalam rilis Integration Services sebelumnya, ada batas 4000 karakter pada hasil evaluasi ekspresi ketika hasilnya memiliki jenis data Integration Services DT_WSTR atau DT_STR. Batas ini telah dihapus.

Untuk ekspresi sampel yang menggunakan operator dan fungsi tertentu, lihat topik tentang setiap operator dan fungsi dalam topik: Operator (Ekspresi SSIS) dan Fungsi (Ekspresi SSIS).

Untuk contoh ekspresi yang menggunakan beberapa operator dan fungsi serta pengidentifikasi dan literal, lihat Contoh Ekspresi Layanan Integrasi Tingkat Lanjut.

Untuk contoh ekspresi yang akan digunakan dalam ekspresi properti, lihat Menggunakan Ekspresi Properti dalam Paket.

Identifiers

Ekspresi dapat menyertakan pengidentifikasi kolom dan variabel. Kolom dapat berasal dari sumber data atau dapat dibuat oleh transformasi dalam aliran data. Ekspresi dapat menggunakan pengidentifikasi silsilah untuk merujuk ke kolom. Pengidentifikasi silsilah adalah angka yang secara unik mengidentifikasi elemen paket. Pengidentifikasi silsilah data, yang direferensikan dalam ekspresi, harus menyertakan awalan pound (#). Misalnya, pengidentifikasi silsilah 138 dirujuk menggunakan #138.

Ekspresi dapat menyertakan variabel sistem yang disediakan SSIS dan variabel kustom. Variabel, saat direferensikan dalam ekspresi, harus menyertakan awalan @. Misalnya, variabel dirujuk Counter menggunakan @Counter. Karakter @ bukan bagian dari nama variabel; ini hanya menunjukkan kepada evaluator ekspresi bahwa pengidentifikasi adalah variabel. Untuk informasi selengkapnya, lihat Pengidentifikasi (SSIS).

Harfiah

Ekspresi dapat mencakup literal numerik, string, dan Boolean. Literal string yang digunakan dalam ekspresi harus diapit dalam tanda kutip. Harfiah numerik dan Boolean tidak mengambil tanda kutip. Bahasa ekspresi mencakup urutan escape untuk karakter yang sering lolos. Untuk informasi selengkapnya, lihat Literal (SSIS).

Operator

Evaluator ekspresi menyediakan sekumpulan operator yang menyediakan fungsionalitas yang mirip dengan kumpulan operator dalam bahasa seperti Transact-SQL, C++, dan C#. Namun, bahasa ekspresi mencakup operator tambahan dan menggunakan simbol yang berbeda dari yang mungkin Anda kenal. Untuk informasi selengkapnya, lihat Operator (Ekspresi SSIS).

Operator Resolusi Namespace

Ekspresi menggunakan operator resolusi namespace (::) untuk membedakan variabel yang memiliki nama yang sama. Dengan menggunakan operator resolusi namespace, Anda dapat memenuhi syarat variabel dengan namespace layanannya, yang memungkinkan untuk menggunakan beberapa variabel dengan nama yang sama dalam paket.

Cast Operator

Operator transmisi mengonversi hasil ekspresi, nilai kolom, nilai variabel, dan konstanta dari satu jenis data ke jenis data lainnya. Operator transmisi yang disediakan oleh bahasa ekspresi mirip dengan yang disediakan oleh bahasa C dan C#. Dalam Transact-SQL, fungsi CAST dan CONVERT menyediakan fungsionalitas ini. Sintaks operator cast berbeda dari yang digunakan oleh CAST dan CONVERT dengan cara berikut:

  • Ini dapat menggunakan ekspresi sebagai argumen.

  • Sintaksnya tidak menyertakan kata kunci CAST.

  • Sintaksnya tidak menyertakan kata kunci AS.

Operator Bersyarah

Operator bersyarat mengembalikan salah satu dari dua ekspresi, berdasarkan evaluasi ekspresi Boolean. Operator kondisi yang disediakan oleh bahasa ekspresi mirip dengan yang disediakan oleh bahasa C dan C#. Dalam ekspresi multidansa (MDX), fungsi IIF menyediakan fungsionalitas serupa.

Operator Logis

Bahasa ekspresi mendukung ! karakter untuk operator NOT logis. Dalam Transact-SQL, ! operator dibangun ke dalam set operator relasional. Misalnya, Transact-SQL menyediakan > operator dan !> . Bahasa ekspresi SSIS tidak mendukung kombinasi dari ! operator dan operator lainnya. Misalnya, tidak valid untuk menggabungkan ! dan > ke dalam !>. Namun, bahasa ekspresi memang mendukung kombinasi karakter bawaan != untuk perbandingan yang tidak setara.

Operator Kesetaraan

Tata bahasa evaluator ekspresi menyediakan operator kesetaraan == . Operator ini setara dengan operator = di Transact-SQL dan operator == di C#.

Fungsi

Bahasa ekspresi mencakup fungsi tanggal dan waktu, fungsi matematika, dan fungsi string yang mirip dengan fungsi Transact-SQL dan metode C#.

Beberapa fungsi memiliki nama yang sama dengan fungsi Transact-SQL, tetapi memiliki fungsionalitas yang sangat berbeda dalam evaluator ekspresi.

  • Dalam Transact-SQL, fungsi ISNULL menggantikan nilai null dengan nilai tertentu, sedangkan fungsi ISNULL evaluator ekspresi mengembalikan Boolean berdasarkan apakah ekspresi null.

  • Dalam Transact-SQL, fungsi ROUND menyertakan opsi untuk memotong tataan hasil, sedangkan fungsi ROUND evaluator ekspresi tidak.

Untuk informasi selengkapnya, lihat Fungsi (Ekspresi SSIS).

Menggunakan Ekspresi dalam Komponen Aliran Data