Megosztás:


Numerikus, sztring és logikai literálok

A következőkre vonatkozik:SQL Server SSIS integrációs futtatókörnyezet az Azure Data Factory-ban

A kifejezések tartalmazhatnak numerikus, sztring és logikai literálokat. A kifejezésértékelő különböző numerikus literálokat támogat, például egész számokat, decimálisokat és lebegőpontos állandókat. A kifejezésértékelő támogatja a hosszú és lebegőpontos utótagokat is, amelyek meghatározzák, hogy a kifejezésértékelő hogyan kezeli az értékeket, és a tudományos jelölést numerikus literálokban.

Numerikus literálok

A kifejezésértékelő támogatja az integrál- és nemintegráns numerikus adattípusokat. Emellett támogatja az életút-azonosítókat (a csomagelemek egyedi numerikus azonosítóit). A származási azonosítók számként jelennek meg, de nem használhatók matematikai műveletek során.

A kifejezésértékelő támogatja az utótagokat, amelyekkel jelezheti, hogy a numerikus literállal hogyan bánik a kifejezésértékelő. Jelezheti például, hogy az egész szám 37 hosszú egész adattípusként van kezelve 37L vagy 37l megírásával.

Az alábbi táblázat a numerikus literálok utótagjait sorolja fel.

Toldalék Description
L vagy L Hosszú numerikus számkonstans.
U vagy u Előjelnélküli numerikus literál.
E vagy e A tudományos jelölés kitevője

Az alábbi táblázat a numerikus kifejezéselemeket és azok reguláris kifejezéseit sorolja fel.

Kifejezéselem Reguláris kifejezés Description
Számjegyek D-ként kifejezve. [0-9] Bármilyen számjegy.
Tudományos jelölés E-ként kifejezve. [Ee][+-]? {D}+ Nagybetűs vagy kisbetűs e, opcionálisan + vagy -, valamint egy vagy több számjegy a D-ben meghatározottak szerint.
Az integer utótag IS-ként kifejezve. (([lL]? [uU]?)|([uU]? [lL]?)) Opcionálisan kis- vagy nagybetűs u és l, vagy ezek kombinációja. Az U vagy u egy előjel nélküli értéket jelöl. Az L vagy l egy hosszú értéket jelöl.
A lebegőpontos utótag FS jelöléssel van kifejezve. ([f|F]|[l|L]) Nagybetűs vagy kisbetűs f vagy l. F vagy f lebegőpontos értéket (DT_R4 adattípust) jelöl. L vagy l hosszú értéket jelöl (DT_R8 adattípust).
Hexadecimális számjegy H-ként kifejezve. [a-fA-F0-9] Bármilyen hexadecimális számjegy.

Az alábbi táblázat a reguláris kifejezésnyelvet használó érvényes numerikus literálokat ismerteti.

Reguláris kifejezés Description
{D}+{IS} Egy integrál numerikus literál legalább egy számjegygel (D) és opcionálisan a hosszú és/vagy az aláíratlan utótaggal (IS). Példák: 457, 785u, 986L és 7945ul.
{D}+{E}{FS} Nem integrált numerikus literál, amely legalább egy számjegyet (D), tudományos jelölést, valamint hosszú vagy lebegőpontos utótagot tartalmaz. Példák: 4E8l, 13e-2f és 5E+L.
{D}*"." {D}+{E}? {FS} Egy nem integrális számérték tizedesjellel, legalább egy számjegyből (D), egy választható kitevőből (E) és egy lebegőpontos vagy hosszú típusjelzőből (FS). Ez a számkonstans DT_R4 vagy DT_R8 adattípussal rendelkezik. Példák: 6.45E3f, .89E-2l és 1.05E+7F.
{D}+"." {D}*{E}? {FS} Nemintegrális számkonstans legalább egy jelentős számmal (D), tizedesjellel, kitevővel (E) és egy lebegőpontos vagy egy hosszú azonosítóval (FS). Ez a számkonstans DT_R4 vagy DT_R8 adattípussal rendelkezik. Példák: 1.E-4f, 4.6E6L és 8.365E+2f.
{D}*. {D}+ Nem egész szám formátumú numerikus literál pontossággal és mértékkel. Tizedesjegye és tizedes törtje legalább egy számjegyből (D) áll. Ez a számkonstans DT_NUMERIC adattípussal rendelkezik. Példák: .9, 5.8 és 0.346.
{D}+. {D}* Nemintegral numerikus literál pontossággal és skálázással. Legalább egy jelentős számjegye (D) és tizedesjegye van. Ez a számkonstans DT_NUMERIC adattípussal rendelkezik. Példák: 6., 0.2 és 8.0.
#{D}+ Egy életút-azonosító. A szöveg a kettős kereszt (#) karakterből és legalább egy számjegyből (D) áll. Példák: #123.
0[xX]{H}+{uU} Számkonstans hexadecimális formátumban. Nulla, nagybetűs vagy kisbetűs x, legalább egy nagybetűs H, és opcionálisan az aláíratlan utótag. Példák: 0xFF0A és 0X000010000U.

A kifejezésértékelő által használt adattípusokról további információt az Integration Services adattípusai című témakörben talál.

A kifejezések különböző adattípusú numerikus literálokat is tartalmazhatnak. Amikor a kifejezésértékelő kiértékeli ezeket a kifejezéseket, kompatibilis típusokká alakítja az adatokat. További információ: Integration Services-adattípusok a kifejezésekben.

Egyes adattípusok közötti átalakításhoz azonban explicit típuskonverzióra van szükség. A kifejezésértékelő explicit adattípus-átalakítás végrehajtásához biztosítja a cast operátort. További információ: Cast (SSIS Expression).

Numerikus literálok leképezése Integration Services-adattípusokhoz

A kifejezésértékelő a következő konverziókat hajtja végre numerikus literálok kiértékelésekor:

  • Az integrál numerikus literál egy egész adattípusra van leképezve az alábbiak szerint.

    Toldalék Eredmény típusa
    None DT_I4
    U DT_UI4
    L DT_I8
    UL DT_UI8

    Fontos

    Ha a hosszú (L vagy l) utótag hiányzik, a kifejezés kiértékelője leképezi az aláírt értékeket az DT_I4 adattípusra, az aláíratlan értékeket pedig a DT_UI4 adattípusra annak ellenére, hogy az érték túlcsordul az adattípuson.

  • A kitevőt tartalmazó numerikus literál a DT_R4 vagy a DT_R8 adattípussá lesz konvertálva. Ha a kifejezés tartalmazza a hosszú utótagot, akkor DT_R8 adattípusra lesz konvertálva; ha tartalmazza a lebegőpontos utótagot, akkor DT_R4 adattípusra lesz konvertálva.

  • Ha egy nem egész számkonstans F vagy f-t tartalmaz, az DT_R4 adattípusra képeződik le. Ha a szám tartalmazza az L vagy l értéket, és egész szám, akkor a DT_I8 adattípusnak lesz megfeleltetve. Ha valós szám, akkor a DT_R8 adattípusra lesz leképezve. Ha tartalmazza a hosszú utótagot, a rendszer DT_R8 adattípusra konvertálja.

  • Nemintegral numerikus literál pontosságú és skálázási leképezésekkel a DT_NUMERIC adattípusra.

Sztringkonstansok

A sztringkonstansokat idézőjelek közé kell foglalni. A kifejezés nyelve a gyakran megmenekült karakterek, például a nem nyomtatható karakterek és az idézőjelek menekülési sorozatainak készletét biztosítja.

A sztring literál nulla vagy több karakterből áll, amelyeket idézőjelek vesznek körül. Ha egy sztring idézőjeleket tartalmaz, ezeket le kell kezelni a kifejezés feldolgozásához. A \x0000 kivételével minden két bájtos karakter megengedett egy sztringben, mivel a \x0000 karakter egy sztring null terminátora.

A karakterláncok tartalmazhatnak más karaktereket is, amelyek escape szekvenciát igényelnek. Az alábbi táblázat a sztringkonstansok feloldósorozatait sorolja fel.

Menekülési sorozat Description
\a Figyelmeztetés
\b Visszalépés
\f Lapváltás
\n Új sor
\r Kocsivisszatérítés
\t Vízszintes lap
\v Függőleges lap
\" Idézőjel
\ Fordított perjel
\xhhhh Unicode karakter hexadecimális jelölésben

Logikai literálok

A kifejezésértékelő a szokásos logikai literálokat támogatja: Igaz és Hamis. A kifejezésértékelő nem megkülönbözteti a kis- és nagybetűket, és a kis- és nagybetűk bármilyen kombinációja megengedett. Például TRUE is úgy működik, mint True.

Megjegyzés:

Egy kifejezésben a logikai literálokat szóközök szerint kell elválasztani.