Bagikan melalui


Harfiah numerik, string, dan Boolean

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

Ekspresi dapat mencakup literal 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 float, 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 data 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 yang panjang.
U atau u Literal numerik yang tidak ditandatangani.
E atau e Eksponen dalam notasi ilmiah

Tabel berikut mencantumkan elemen ekspresi numerik dan ekspresi regulernya.

Elemen ekspresi Ekspresi reguler Deskripsi
Digit yang dinyatakan sebagai D. [0-9] Digit apa pun.
Notasi ilmiah yang 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.

Ekspresi reguler Deskripsi
{D}+{IS} Literal numerik integral dengan setidaknya satu digit (D) dan, opsional, panjang dan/atau akhiran yang tidak ditandatangani (IS). Contoh: 457, 785u, 986L, dan 7945ul.
{D}+{E}{FS} Literal 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} Literal 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} Literal 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}+ Literal 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}* Literal 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 data. Ini terdiri dari karakter pound (#) dan setidaknya satu digit (D). Contoh: #123.
0[xX]{H}+{uU} Literal 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 ke jenis yang kompatibel. Untuk informasi selengkapnya, lihat Jenis Data Integration Services di Ekspresi.

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

Memetakan Literal Numerik ke Jenis Data Integration Services

Evaluator ekspresi melakukan konversi berikut saat mengevaluasi literal numerik:

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

    Akhiran Jenis Hasil
    Tidak 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 meluapkan jenis data.

  • Literal numerik yang menyertakan eksponen dikonversi ke jenis data DT_R4 atau DT_R8. Jika ekspresi menyertakan akhiran panjang, ekspresi akan dikonversi ke DT_R8; jika menyertakan akhiran float, itu dikonversi ke jenis data DT_R4.

  • Jika literal numerik nonintegral menyertakan F atau f, ia 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 peta skala 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 nonprint dan tanda kutip.

String literal terdiri dari nol karakter atau lebih yang dikelilingi oleh tanda kutip. Jika string berisi tanda kutip, ini harus diloloskan agar ekspresi 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 string literal.

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 literal Boolean 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.