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.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk