Harfiah numerik, string, dan Boolean

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

Ekspresi dapat mencakup harfiah numerik, string, dan Boolean. Evaluator ekspresi mendukung berbagai literal numerik seperti bilangan bulat, desimal, dan konstanta floating-point. Evaluator ekspresi juga mendukung akhiran panjang dan mengambang, yang menentukan bagaimana evaluator ekspresi menangani nilai, dan notasi ilmiah dalam literal numerik.

Harfiah Numerik

Evaluator ekspresi mendukung jenis data numerik integral dan nonintegral. Ini juga mendukung pengidentifikasi silsilah (pengidentifikasi numerik unik untuk elemen paket). Pengidentifikasi silsilah adalah angka, tetapi tidak dapat digunakan dalam operasi matematika.

Evaluator ekspresi mendukung akhiran, yang dapat Anda gunakan untuk menunjukkan bagaimana evaluator ekspresi memperlakukan literal numerik. Misalnya, Anda dapat menunjukkan bilangan bulat 37 diperlakukan sebagai jenis data bilangan bulat panjang dengan menulis 37L atau 37l.

Tabel berikut mencantumkan akhiran untuk literal numerik.

Akhiran Deskripsi
L atau l Harfiah numerik panjang.
U atau u Harfiah numerik yang tidak ditandatangani.
E atau e Eksponen dalam notasi ilmiah

Tabel berikut ini mencantumkan elemen ekspresi numerik dan ekspresi regulernya.

Elemen Ekspresi Regex Deskripsi
Digit yang dinyatakan sebagai D. [0-9] Setiap digit.
Notasi ilmiah dinyatakan sebagai E. [Ee] [+-]? {D}+ Huruf besar atau kecil e, opsional + atau -, dan satu atau beberapa digit seperti yang didefinisikan dalam D.
Akhiran bilangan bulat dinyatakan sebagai IS. ([LL]? [uU]?)| ( [ uU ] ? [LL]?)) Secara opsional, huruf besar atau kecil Anda dan l atau kombinasi dari Anda dan l. U atau u menunjukkan nilai yang tidak ditandatangani. L atau l menunjukkan nilai yang panjang.
Akhiran float dinyatakan sebagai FS. ([f| F]| [l|L]) Huruf besar atau kecil f atau l. F atau f menunjukkan nilai float (DT_R4 jenis data). L atau l menunjukkan nilai panjang (DT_R8 jenis data).
Digit heksadesimal dinyatakan sebagai H. [a-fA-F0-9] Digit heksadesimal apa pun.

Tabel berikut ini menjelaskan literal numerik yang valid menggunakan bahasa ekspresi reguler.

Regex Deskripsi
{D}+{IS} Harfiah numerik integral dengan setidaknya satu digit (D) dan, secara opsional, akhiran panjang dan/atau yang tidak ditandatangani (IS). Contoh: 457, 785u, 986L, dan 7945ul.
{D}+{E}{FS} Harfiah numerik nonintegral dengan setidaknya satu digit (D), notasi ilmiah, dan akhiran panjang atau float. Contoh: 4E8l, 13e-2f, dan 5E+L.
{D}*"." {D}+{E}? {FS} Harfiah numerik nonintegral dengan tempat desimal, pecahan desimal dengan setidaknya satu digit (D), eksponen opsional (E), dan satu float atau satu pengidentifikasi panjang (FS). Literal numerik ini memiliki jenis data DT_R4 atau DT_R8. Contoh: 6,45E3f, .89E-2l, dan 1,05E+7F.
{D}+"." {D}*{E}? {FS} Harfiah numerik nonintegral dengan setidaknya satu digit signifikan (D), tempat desimal, eksponen (E), dan satu float atau satu pengidentifikasi panjang (FS). Literal numerik ini memiliki jenis data DT_R4 atau DT_R8. Contoh: 1.E-4f, 4.6E6L, dan 8.365E+2f.
{D}*. {D}+ Harfiah numerik nonintegral dengan presisi dan skala. Ini memiliki tempat desimal dan pecahan desimal dengan setidaknya satu digit (D). Literal numerik ini memiliki jenis data DT_NUMERIC. Contoh: .9, 5.8, dan 0.346.
{D}+. {D}* Harfiah numerik nonintegral dengan presisi dan skala. Ini memiliki setidaknya satu digit signifikan (D) dan tempat desimal. Literal numerik ini memiliki jenis data DT_NUMERIC. Contoh: 6., 0.2, dan 8.0.
#{D}+ Pengidentifikasi silsilah. Ini terdiri dari karakter pound (#) dan setidaknya satu digit (D). Contoh: #123.
0[xX]{H}+{uU} Harfiah numerik dalam format heksadesimal. Ini termasuk nol, huruf besar atau kecil x, setidaknya satu H huruf besar, dan, secara opsional, akhiran yang tidak ditandatangani. Contoh: 0xFF0A dan 0X000010000U.

Untuk informasi selengkapnya tentang jenis data yang digunakan evaluator ekspresi, lihat Jenis Data Integration Services.

Ekspresi dapat menyertakan literal numerik dengan jenis data yang berbeda. Saat evaluator ekspresi mengevaluasi ekspresi ini, ekspresi akan mengonversi data menjadi jenis yang kompatibel. Untuk informasi selengkapnya, lihat Jenis Data Integration Services dalam Ekspresi.

Namun, konversi antara beberapa jenis data memerlukan transmisi eksplisit. Evaluator ekspresi menyediakan operator transmisi untuk melakukan konversi jenis data eksplisit. Untuk informasi selengkapnya, lihat Cast (Ekspresi SSIS).

Memetakan Literal Numerik ke Jenis Data Layanan Integrasi

Evaluator ekspresi melakukan konversi berikut saat mengevaluasi literal numerik:

  • Literal numerik integral dipetakan ke jenis data bilangan bulat sebagai berikut.

    Akhiran Jenis Hasil
    Tidak ada DT_I4
    U DT_UI4
    L DT_I8
    UL DT_UI8

    Penting

    Jika akhiran panjang (L atau l) tidak ada, evaluator ekspresi memetakan nilai yang ditandatangani ke jenis data DT_I4 dan nilai yang tidak ditandatangani ke jenis data DT_UI4 meskipun nilai meluap dari jenis data.

  • Harfiah numerik yang menyertakan eksponen dikonversi menjadi jenis data DT_R4 atau DT_R8. Jika ekspresi menyertakan akhiran panjang, ekspresi akan dikonversi ke DT_R8; jika menyertakan akhiran float, sufiks tersebut dikonversi ke jenis data DT_R4.

  • Jika harfiah numerik nonintegral menyertakan F atau f, itu memetakan ke jenis data DT_R4. Jika menyertakan L atau l dan angkanya adalah bilangan bulat, angka tersebut akan dipetakan ke jenis data DT_I8. Jika merupakan angka riil, ia memetakan ke jenis data DT_R8. Jika menyertakan akhiran panjang, akhiran tersebut dikonversi ke jenis data DT_R8.

  • Literal numerik nonintegral dengan presisi dan skala peta ke jenis data DT_NUMERIC.

Untai (karakter) Harfiah

Literal string harus diapit dalam tanda kutip. Bahasa ekspresi menyediakan sekumpulan urutan escape untuk karakter yang umumnya lolos seperti karakter noncetak dan tanda kutip.

String literal terdiri dari nol karakter atau lebih yang dikelilingi oleh tanda kutip. Jika string berisi tanda kutip, string harus diloloskan agar ekspresi dapat diurai. Setiap karakter dua byte kecuali \x0000 diizinkan dalam string, karena karakter \x0000 adalah terminator null dari string.

String dapat menyertakan karakter lain yang memerlukan urutan escape. Tabel berikut mencantumkan urutan escape untuk literal string.

Urutan escape Deskripsi
\a Peringatan
\b Backspace
\f Umpan formulir
\n Baris baru
\r Carriage return
\t Tab horizontal
\v Tab vertikal
\" Tanda kutip
\ Garis miring terbalik
\xhhhh Karakter Unicode dalam notasi heksadesimal

Literal Boolean

Evaluator ekspresi mendukung harfiah Boolean yang biasa: True dan False. Evaluator ekspresi tidak peka huruf besar/kecil dan kombinasi huruf besar dan huruf kecil diizinkan. Misalnya, TRUE berfungsi serta True.

Catatan

Dalam ekspresi, harfiah Boolean harus dibatasi oleh spasi.