Translation not up to date
Použijte tyto funkce DataStage v editorech kódu Watson Pipelines , například k definování uživatelské proměnné nebo k sestavení pokročilého stavu.
Syntaxe pro funkce Tvůrce výrazů
V syntaxi pro argumenty se hranaté závorky označují, že argument je volitelný.
Parametr může přijímat data libovolného typu. To označuje, že můžete zadat argument typu řetězec, int, float, null a tak dále. Například funkce IsNull(input (any))
přijímá následující typy parametrů, ale není výlučná pro následující typy:
ds.IsNull(1)
ds.IsNull("try null")
ds.IsNull(1.78)
ds.IsNull(null)
Tvůrce výrazů používá tyto katagorie pro funkce kódování:
Převodní funkce
Převede jeden formát datového prvku na jiný.
ASCII
Převádí hodnoty znaků v řetězci z formátu EBCDIC do ASCII.
Syntaxe
ds.Ascii(input (string))
vrátí: řetězec EDBCDI převedený na výsledný řetězec ASCII řetězce formátu.
Příklad
Následující kód vrátí "65 66 67":
ds.Ascii("193 194 195")
Znak
Vrací ASCII znak z hodnoty číselného kódu.
Syntaxe
ds.Char(code (uint8))
vrací: odpovídající znak ve formátu char.
Příklad
Následující příklad vytiskne ASCII kód 65 jako znak A.
ds.Char(65)
Kontrolní součet
Vrátí hodnotu cyklického kódu redundance pro řetězec.
Syntaxe
ds.Checksum(input (string))
Vrací: hodnotu kontrolního součtu formátovacího řetězce, který je cyklickým kódem redundance.
Příklad
Následující kód vrátí 57158:
ds.Checksum("This is any arbitrary string value")
CRC32
Používá funkci CRC32 k vrácení 16bitového cyklického kódu redundance.
Syntaxe
ds.CRC32(input (string))
vrací: výsledek dekadického formátu.
Příklad
Následující kód vrátí 57158:
ds.CRC32("This is any arbitrary string value")
Řetězec DateTo
Vrátí řetězcovou reprezentaci daného data. Řetězec výchozího formátu pro data je "%yyyy%mm%dd", takže například datum 2009-08-25 je uloženo jako dekadické číslo 20090825. Volitelně však můžete zadat řetězec formátu, který určuje, jak je datum uloženo v desetinném čísle. Formátovací řetězce mohou uvádět pouze formát, který obsahuje čísla. Například nemůžete uvést řetězec formátu jako "%yyyy-%mm-%dd", protože znak pomlčky (-) nemůže být uložen v pakované desetinné hodnotě. Následující tokeny jsou platné pro převody na nebo z desetinných hodnot:
%yyyy (four-digit year)
%yy (two-digit year)
%NNNNyy (two-digit year with cutoff)
%mm (two-digit month)
%dd (two-digit day of month)
%ddd (three-digit day of year)
Literálové číslice 0 až 9 jsou také platné.
Syntaxe
ds.DateToString(date (date), [format (string)])
vrátí: datum ve formátu řetězce.
Příklad
Pokud mylink.mydate
obsahuje datum 18th , 2009, pak následující kód vrátí řetězec "2009-08-18":
ds.DateToString(mylink.mydate)
Následující příklad vypíše datum obsažené ve sloupci mylink.mydate
na řetězec ve formátu dd:mm:yyyy
. Pokud mylink.mydate
obsahovalo datum 18th Srpen 2009, pak následující kód vrátí řetězec "18:08:2009":
ds.DateToString(mylink.mydate, "%dd:%mm:%yyyy")
DateToDesetinné číslo
Vrátí zadané datum jako pakovanou desetinnou hodnotu. Řetězec výchozího formátu pro data je "%yyyy%mm%dd", takže například datum 2009-08-25 je uloženo jako dekadické číslo 20090825. Volitelně však můžete zadat řetězec formátu, který určuje, jak je datum uloženo v desetinném čísle. Formátovací řetězce mohou uvádět pouze formát, který obsahuje čísla. Například nemůžete uvést řetězec formátu jako "%yyyy-%mm-%dd", protože znak pomlčky (-) nemůže být uložen v pakované desetinné hodnotě. Následující tokeny jsou platné pro převody na nebo z desetinných hodnot:
%yyyy (four-digit year)
%yy (two-digit year)
%NNNNyy (two-digit year with cutoff)
%mm (two-digit month)
%dd (two-digit day of month)
%ddd (three-digit day of year)
Literálové číslice 0 až 9 jsou také platné.
Syntaxe
ds.DateToDecimal(basedate (date), [format (string)])
vrátí: datum ve formátu desetinného čísla.
Příklad
Pokud mylink.basedate
obsahuje datum 2012-08-18, pak následující funkce ukládá datum jako desítkové číslo 18082012:
ds.DateToDecimal(mylink.basedate, "%dd%mm%yyyy")
Pokud mylink.basedate
obsahuje datum 2012-08-18, pak následující funkce ukládá datum jako desítkové číslo 20120818:
ds.DateToDecimal(mylink.basedate)
Datum DecimalTo
Vrátí dané pakované desetinné číslo jako datum. Při převodu na datum jsou ignorovány jak znak, tak i měřítko desetinného čísla. Výchozí formátovací řetězec je "%yyyy%mm%dd", takže například datum 2009-08-25 je uloženo jako dekadické číslo 20090825. Volitelně však můžete zadat řetězec formátu, který určuje, jak je datum uloženo v desetinném čísle. Formátovací řetězce mohou uvádět pouze formát, který obsahuje čísla. Například nemůžete uvést řetězec formátu jako "%yyyy-%mm-%dd", protože znak pomlčky (-) nemůže být uložen v pakované desetinné hodnotě. Následující tokeny jsou platné pro převody na nebo z desetinných hodnot:
%yyyy (four-digit year)
%yy (two-digit year)
%NNNNyy (two-digit year with cutoff)
%mm (two-digit month)
%dd (two-digit day of month)
%ddd (three-digit day of year)
Literálové číslice 0 až 9 jsou také platné.
Syntaxe
ds.DecimalToDate(basedec (decimal), [format (string)])
returns: desetinné číslo ve formátu data.
Příklad
Pokud mylink.mydecdata
obsahuje hodnotu 18082012, pak následující funkce vrací datum 2012-08-18:
ds.DecimalToDate(mylink.basedate, "%dd%mm%yyyy")
Pokud mylink.mydecdata
obsahuje hodnotu -201208.18, pak následující funkce vrací datum 2012-08-18:
ds.DecimalToDate(mylink.basedate)
DecimalToDesetinné číslo
Vrátí dané desetinné číslo v desítkové reprezentaci. Argument rtype
volitelně určuje typ zaokrouhlení a je nastaven na jednu z následujících hodnot:
ceil
: Zaokrouhlí zdrojové pole směrem k kladnému nekonečnu. Příklad: 1.4 -> 2, -1.6 -> -1.
floor
: Zaokrouhlí zdrojové pole směrem k zápornému nekonečnu. Příklad: 1.6 -> 1, -1.4 -> -2.
round_inf
: Sloučí nebo zkracuje zdrojové pole směrem k nejbližšímu reprezentativnímu hodnotě a zaokrouhlí vazby tak, že zaokrouhlí kladné hodnoty směrem k kladnou nekonečnu a záporné hodnoty do záporného nekonečna. Příklad: 1.4 -> 1, 1.5 -> 2, -1.4 -> -1, -1.5 -> -2.
trunc_zero
: Zařadí všechny desetinné číslice napravo od nejkrajnější desetinné číslice podporované v místě určení bez ohledu na znaménko. Například, je-li cílem celé číslo, všechny desetinné číslice se oseknou. Je-li cílem jiné desetinné číslo s menším počtem desetinných míst, zaokrouhlí nebo ořízne na velikost stupnice místa určení. Příklad: 1.6 -> 1, -1.6 -> -1.
Syntaxe
ds.DecimalToDecimal(decimal (decimal), [rtype (string)])
Vrací: výsledné desetinné číslo.
Příklad
Pokud mylink.mydec
obsahuje dekadické číslo 2.5345 , vrátí následující funkce desetinné číslo 2.54:
ds.DecimalToDecimal(mylink.mydec,"ceil")
Pokud mylink.mydec
obsahuje dekadické číslo 2.5345 , vrátí následující funkce desetinné číslo 2.53.
ds.DecimalToDecimal(mylink.mydec,"floor")
Pokud mylink.mydec
obsahuje dekadické číslo 2.5345 , vrátí následující funkce desetinné číslo 2.53.
ds.DecimalToDecimal(mylink.mydec,"trunc_zero")
Pokud mylink.mydec
obsahuje dekadické číslo 2.5345 , vrátí následující funkce desetinné číslo 2.53.
ds.DecimalToDecimal(mylink.mydec,"round_inf")
DFloat DecimalTo
Vrátí dané desetinné číslo v reprezentaci dfloat
. Volitelný argument fix_zero
uvádí, že všechny nulové desetinné hodnoty jsou považovány za platné (standardně jsou desetinná čísla zahrnující všechny nuly považovány za neplatné).
Syntaxe
ds.DecimalToDFloat(decimal (decimal), ["fix_zero"])
Vrací: desetinné číslo ve formátu dfloat
.
Příklady
Pokud mylink.mydec
obsahuje desítkové číslo 00000004.00 , vrací následující funkce číslo dfloat
4.
ds.DecimalToDFloat(mylink.mydec,"fix_zero")
Pokud mylink.mydec
obsahuje desítkové číslo 00012344.00 , vrátí následující funkce číslo dfloat
12344.
ds.DecimalToDFloat(mylink.mydec,"fix_zero")
Pokud mylink.mydec
obsahuje desítkové číslo 00012344.120 , vrátí následující funkce číslo dfloat
12344.12.
ds.DecimalToDFloat(mylink.mydec,"fix_zero")
Pokud mylink.mydec
obsahuje dekadické číslo 00012344.120 , vrátí následující funkce číslo dfloat 12344.12.
ds.DecimalToDFloat(mylink.mydec)
Pokud mylink.mydec
obsahuje desítkové číslo 00012344.000 , vrátí následující funkce číslo dfloat 12344.
ds.DecimalToDFloat(mylink.mydec)
Řetězec DecimalTo
Vrátí dané desetinné číslo jako řetězec. Argument fix_zero
volitelně uvádí, že všechny nulové desetinné hodnoty se považují za platné (standardně jsou desítková čísla složená ze všech nul považována za neplatnou). To pokrývá případ, kdy jsou bity podpisu pakované desetinné znázornění všech 0 a také všechny číslice obsahu. Toto přetypování není považováno za platné, pokud fix_zero
není pravda.
Syntaxe
ds.DecimalToString(decimal (decimal), ["fix_zero"])
returns: desetinné číslo ve formátu řetězce.
Příklady
Pokud mylink.mydec
obsahuje dekadické číslo 00000004.00, následující funkce vrací řetězec "4":
ds.DecimalToString(mylink.mydec,"suppress_zero")
Pokud mylink.mydec
obsahuje dekadické číslo 00000004.00, následující funkce vrací řetězec "0000000000000000000000000004.0000000000":
ds.DecimalToString(mylink.mydec,"fix_zero")
Pokud mylink.mydec
obsahuje dekadické číslo 00000004.00, následující funkce vrací řetězec "4":
ds.DecimalToString(mylink.mydec)
Čas DecimalTo
Vrátí dané pakované desetinné číslo jako čas. Volitelně můžete uvést řetězec formátu, který uvádí, jak je čas uložen v desetinném čísle. Výchozí řetězec formátu je "%hh%nn%ss", takže například čas 14:03:22 je uložen jako desítkové číslo 140322. Formátovací řetězce mohou uvádět pouze formát, který obsahuje čísla. Například nemůžete uvést řetězec formátu jako "%hh: %nn:%ss", protože dvojtečkový znak (:) nemůže být uložen v pakované desetinné hodnotě. Následující tokeny jsou platné pro převody na nebo z desetinných hodnot:
%hh (two-digit hours using 24-hour clock)
%nn (two-digit minutes)
%ss (two-digit seconds)
%ss.N (two-digit seconds, plus the number of fractional digits allowed. The number of fractional digits is from one to six inclusive).
Literálové číslice 0 až 9 jsou také platné.
Pokud zadaný formát zahrnuje mikrosekundy (například %ss.4), odvodí se pozice desetinného místa v desetinné hodnotě. Pozice desetinné čárky se nemusí shodovat s uvedeným měřítkem desetinného místa (například, měřítko = 4).
Syntaxe
ds.DecimalToTime(decimal (decimal), [format (string)])
returns: Formát zápisu desetinných míst ve formátu času.
Příklad
Pokud mylink.mytimedec
obsahuje desetinnou hodnotu 200658, pak následující funkce vrací čas 20:06:58:
ds.DecimalToTime(mylink.mytimedec)
Pokud sloupec mylink.mytimedec obsahuje desetinnou hodnotu 580620, pak následující funkce vrací čas 20:06:58:
ds.DecimalToTime(mylink.mytimedec, "%ss%nn%hh")
Časové razítko DecimalTo
Vrátí dané pakované desetinné číslo jako časové razítko. Volitelně můžete uvést řetězec formátu, který uvádí, jak je časové razítko uloženo v desetinném čísle. Výchozí formátovací řetězec je "%hh%nn%s", takže například časový údaj 2009-08-25 14:03:22 je uložen jako desítkové číslo 20090825140322. Formátovací řetězce mohou uvádět pouze formát, který obsahuje čísla. Například, nemůžete uvést řetězec formátu jako "%yyyy/%mm/%dd%hh: %nn:%ss", protože znak lomítko (/) a znak dvojtečky (:) nelze uložit v pakované desetinné hodnotě. Následující tokeny jsou platné pro převody na nebo z desetinných hodnot:
%yyyy (four-digit year)
%yy (two-digit year)
%NNNNyy (two-digit year with cutoff)
%mm (two-digit month)
%dd (two-digit day of month)
%ddd (three-digit day of year)
%hh (two-digit hours using 24-hour clock)
%nn (two-digit minutes)
%ss (two-digit seconds)
%ss.N (two-digit seconds, plus the number of fractional digits allowed. The number of fractional digits is from one to six inclusive).
Literálové číslice 0 až 9 jsou také platné.
Pokud zadaný formát zahrnuje mikrosekundy (například %ss.4), odvodí se pozice desetinného místa v desetinné hodnotě. Pozice desetinné čárky se nemusí shodovat s uvedeným měřítkem desetinného místa (například, měřítko = 4).
Syntaxe
ds.DecimalToTimestamp(decimal (decimal), [format (string)])
returns: Desetinné číslo ve formátu časového razítka.
Příklad
Pokud mylink.mytimestampdec
obsahuje hodnotu 19580818200658, pak následující funkce vrací časové razítko 1958-08-18 20:06:58:
ds.DecimalToTimestamp(mylink.mytimestampdec)
Pokud link.mytimestampdec
obsahuje desetinnou hodnotu 200658220818, pak následující funkce vrací časové razítko 2022-08-18 20:06:58:
ds.DecimalToTimestamp(mylink.mytimestampdec, "%hh%nn%ss%yy%mm%dd")
DFloatToDesetinné číslo
Vrátí daný objekt dfloat v desítkové reprezentaci. Argument rtype
volitelně určuje typ zaokrouhlení a je nastaven na jednu z následujících hodnot:
ceil
: Zaokrouhlí zdrojové pole směrem k kladnému nekonečnu. Příklad: 1.4 -> 2, -1.6 -> -1.
floor
: Zaokrouhlí zdrojové pole směrem k zápornému nekonečnu. Příklad: 1.6 -> 1, -1.4 -> -2.
round_inf
: Sloučí nebo zkracuje zdrojové pole směrem k nejbližšímu reprezentativnímu hodnotě a zaokrouhlí vazby tak, že zaokrouhlí kladné hodnoty směrem k kladnou nekonečnu a záporné hodnoty do záporného nekonečna. Příklad: 1.4 -> 1, 1.5 -> 2, -1.4 -> -1, -1.5 -> -2.
trunc_zero
: Zařadí všechny desetinné číslice napravo od nejkrajnější desetinné číslice podporované v místě určení bez ohledu na znaménko. Například, je-li cílem celé číslo, všechny desetinné číslice se oseknou. Je-li cílem jiné desetinné číslo s menším počtem desetinných míst, zaokrouhlí nebo ořízne na velikost stupnice místa určení. Příklad: 1.6 -> 1, -1.6 -> -1.
Syntaxe
ds.DFloatToDecimal(number (dfloat), [rtype (string)])
returns: the decimal in dfloat format.
Příklady
Pokud příkaz mylink.myfloat
obsahuje číslo s hodnotou dfloat 2.534, následující funkce vrátí dekadické číslo 2.54:
ds.DFloatToDecimal(mylink.mydec,"ceil")
Pokud příkaz mylink.myfloat
obsahuje číslo s hodnotou dfloat 2.534, vrátí následující funkce počet desetinných míst 2.53:
ds.DFloatToDecimal(mylink.mydec,"floor")
Pokud příkaz mylink.myfloat
obsahuje číslo s hodnotou dfloat 2.534, vrátí následující funkce počet desetinných míst 2.53:
ds.DFloatToDecimal(mylink.mydec,"trunc_zero")
Pokud příkaz mylink.myfloat
obsahuje číslo s hodnotou dfloat 2.534, vrátí následující funkce počet desetinných míst 2.53:
ds.DFloatToDecimal(mylink.mydec,"round_inf")
DfloatToStringNoExp
Vrací daný objekt dfloat ve své řetězcové reprezentaci bez exponentu s použitím zadaného měřítka.
Syntaxe
ds.DfloatToStringNoExp(number (dfloat), scale (string))
returns: číslo řádku dfloat ve formátu řetězce.
Příklady
Pokud mylink.myfloat
obsahuje číslo s hodnotou dfloat 2.534, pak následující funkce vrací řetězec "2.5":
ds.DfloatToStringNoExp(mylink.myfloat, "2")
Dtx
Převede dekadické celé číslo na hexadecimální.
Syntaxe
ds.Dtx(number (int32), size(int8))
vrátí: výsledek formátovacího řetězce.
Příklad
Návratový kód "002F" vrátí následující kód:
ds.Dtx(47,4)
EBCDIC
Převede každý znak výrazu z jeho hodnoty reprezentace ASCII na hodnotu v reprezentaci EBCDIC.
Syntaxe
ds.Ebcdic(input (string))
vrátí: řetězec ASCII převedený na výsledný řetězec EDBCDII.
Příklad
Následující kód se vrátí "193 194 195 64 241 242 243":
ds.Ebcdic("ABC 123")
Iconv
Převádí řetězec na vnitřní formát úložiště.
Syntaxe
ds.Iconv(string (string), code (string))
Vrací: vnitřní formát úložiště ve formátu řetězce.
Příklad
Následující kód vrátí 10740:
ds.Iconv("27 MAY 97", "D2")
Následující kód vrátí 10740:
ds.Iconv("1997 5 27", "D YMD")
IntToBool
Převeďte celé číslo na typ bool. Vrátí logickou hodnotu true pro jakoukoli neprázdnou hodnotu a hodnotu false pro 0.
Syntaxe
ds.IntToBool(integer (int))
returns: logická hodnota true nebo false.
Příklad
Hodnota 2 vrátí hodnotu true.
ds.IntToBool(2)
IsValid
Vrací informaci o tom, zda daný řetězec je platný pro daný typ.
Platné typy jsou "date", "decimal", "dfloat", "sfloat", "int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "string", "time", "timestamp".
Pro datové typy data, času a označení času můžete volitelně zadat řetězec formátu. Formátovací řetězec popisuje formát, který vstupní data používají, když se liší od výchozích formátů pro datum, čas nebo časové označení. Výchozí formát pro datum je "%rrrr-%mm-%dd". Výchozí formát pro čas je "%hh: %mm:%ss". Výchozí formát časového razítka je "%rrrr-%mm-%dd %hh: %mm:%ss". Tato funkce nezaprotokoluje varování.
Syntaxe
ds.IsValid(type (string), teststring (string), [format (string)])
vrací: výsledek typu int8 , 1, je-li vstup platný pro daný typ, jinak 0.
Příklad
Pokud mylink.mystring
obsahuje řetězec "1", pak následující funkce vrací hodnotu 1:
ds.IsValid("int8", mylink.mystring)
Pokud mylink.mystring
obsahuje řetězec "380096.06", pak následující funkce vrátí hodnotu 0:
ds.IsValid("int8", mylink.mystring)
IsValidDatum
Vrací informaci o tom, zda je daná hodnota platná pro datum typu. Tato funkce protokoluje varování.
Syntaxe
ds.IsValidDate(testdate (date))
vrací: výsledek typu int8 , 1, je-li vstup platný pro daný typ, jinak 0.
Pokud mylink.mydate
obsahuje datum 2011-09-13, pak následující funkce vrátí hodnotu 1.
ds.IsValidDate(mylink.mydate)
Pokud mylink.mydate
obsahuje řetězec "380096.06", pak následující funkce vrací hodnotu 0, protože převedený řetězec není platné datum.
ds.IsValidDate(mylink.mydate)
IsValidDesetinný
Vrátí, zda je daná hodnota platná pro typ Decimal. Je-li parametr allzerosflag
nastaven na hodnotu 0, není reprezentace všech nul platný. Při výchozím nastavení je hodnota allzerosflag
nastavena na hodnotu 0.
Syntaxe
ds.IsValidDecimal(testvalue (decimal), [allzerosflag (uint8)])
vrací: výsledek typu int8 , 1, je-li vstup platný pro daný typ, jinak 0.
Příklady
Pokud mylink.mynum
obsahuje hodnotu 310007.65, pak následující funkce vrátí hodnotu 1.
ds.IsValidDecimal(mylink.mynum)
IsValidČas
Vrací informaci o tom, zda je daný čas platný pro typ čas.
Syntaxe
ds.IsValidTime(testtime (time))
vrací: výsledek typu int8 , 1, je-li vstup platný pro daný typ, jinak 0.
Příklady
Pokud mylink.mytime
obsahuje čas 23:09:22, pak následující funkce vrací hodnotu 1:
ds.IsValidTime(mylink.mytime)
IsValidČasové razítko
Vrací, zda je dané časové razítko platné pro typ timestamp.
Syntaxe
ds.IsValidTimestamp(testtimestamp (timestamp))
vrací: výsledek typu int8 , 1, je-li vstup platný pro daný typ, jinak 0.
Příklady
Pokud mylink.mytimestamp
obsahuje čas 2011-09-13 23:09:22, pak následující funkce vrací hodnotu 1:
ds.IsValidTimestamp(mylink.mytimestamp)
Ovrovník
Převede výraz na výstupní formát.
Syntaxe
ds.Oconv(expression (string), conversion (string))
vrátí výsledek: výsledek do výstupního formátu řetězce formátu.
Příklad
Následující kód vrátí hodnotu 1997-147:
ds.Oconv(10740, "D-YJ")
Následující kód vrátí hodnotu 27 KVĚTEN 97:
ds.Oconv(10740, "D DMY, [A3,2]")
RawNumV
Vrací celočíselnou hodnotu na zadané hodnotě indexu v uvedeném prvotním poli. Index začíná hodnotou 0.
Syntaxe
ds.RawNumAt(rawfield (string), index (int32))
returns: hodnota typu integer na indexu ve formátu int32 .
Příklady
Obsahuje-li column mylink.myraw
hrubou hodnotu odvozenou z řetězce "hello" (který je "{ 0x68 0x65 0x6C 0x6C 0x6F }"), pak následující funkce vrací celé číslo 104 (kód ASCII pro znak h):
ds.RawNumAt(mylink.myraw, 0)
Pokud mylink.myraw
obsahuje nezpracovanou hodnotu odvozenou z řetězce "hello" (což je "{ 0x68 0x65 0x6C 0x6C 0x6F }"), pak následující funkce vrací hodnotu 0, protože určený index je mimo rozsah:
ds.RawNumAt(mylink.myraw, 12)
Řetězec RawTo
Vrátí danou hrubou hodnotu jako řetězcovou reprezentaci. Musíte se ujistit, že prvotní vstupní hodnota obsahuje posloupnost bajtů, které jsou platné jako znaky v cílové znakové sadě, ve které se používá výstupní řetězec.
Například, hrubá hodnota { 0xE0 0x41 0x42 }
není platnou posloupností znaků UTF-8 , protože hlavní bajt, 0xE0, má být následován bajtem v rozsahu [0x80..0xBF].
Je-li do funkce String RawTopředána nezpracovaná hodnota { xE0 x41 x42 }
, může dojít k chybě, pokud se k výstupnímu řetězci přistupuje tak, jako by bylo kódováno v UTF-8.
Syntaxe
ds.RawToString(rawfield (string))
vrátí: danou prvotní hodnotu jako řetězec.
Příklady
Pokud mylink.myraw
obsahuje hodnotu { 0x31 0x31 0x30 0x35 0x32 0x32 0x30 0x39 }
, pak následující funkce vrací řetězec "11052209".
ds.RawToString(mylink.myraw)
Pořadí
Generuje numerickou hodnotu kódu ze znaku ASCII. Volitelně můžete zadat argument allow8bits
pro převod 8bitových hodnot ASCII.
Syntaxe
ds.Seq(seq (char))
vrátí: číselný kód ASCII.
Příklady
Následující příklad ukazuje výstup znaku A jako ASCII kód 65.
ds.Seq("A")
SeqAt
Vrací hodnotu číselného kódu znaku na zadané pozici v daném řetězci. Index začíná hodnotou 0. Je-li zadaný index mimo rozsah, funkce vrátí hodnotu 0.
Syntaxe
ds.SeqAt(basestring (string), index (int32))
returns: numeric code point value of the character at the specified position in the given string in int32
format.
Příklady
Pokud mylink.mystring
obsahuje řetězec "kůň", pak následující funkce vrátí hodnotu 0x6F (to znamená, že je hodnota ASCII znaku o).
ds.SeqAt(mylink.mystring, 1)
StringToBool
Převádí řetězec na typ bool. Vrátit hodnotu false pro prázdný řetězec, vrátit hodnotu true pro jakoukoli jinou hodnotu.
Syntaxe
ds.StringToBool(string (string))
returns: logická hodnota true nebo false.
Příklad
Prázdný řetězec vrací hodnotu false.
ds.StringToBool("")
Datum StringTo
Vrací datum z daného řetězce v uvedeném formátu. Řetězec formátu není třeba zadávat, pokud řetězec obsahuje datum ve výchozím formátu rrrr-mm-dd.
Syntaxe
ds.StringToDate(string (string), [format (string)])
vrátí: řetězec k datu v určeném formátu.
Příklady
Pokud mylink.mystring
obsahuje řetězec "1958-08-18", pak následující funkce vrací datum 1958-08-18.
ds.StringToDate(mylink.mystring)
Pokud mylink.mystring
obsahuje řetězec "18:08:1958", pak následující funkce vrací datum 1958-08-18.
ds.StringToDate(mylink.mystring,"%dd:%mm:%yyyy")
StringToDesetinný
Vrátí daný řetězec jako desetinnou reprezentaci. Argument rtype
volitelně určuje typ zaokrouhlení a je nastaven na jednu z následujících hodnot:
ceil
: Zaokrouhlí zdrojové pole směrem k kladnému nekonečnu. Příklad: 1.4 -> 2, -1.6 -> -1.
floor
: Zaokrouhlí zdrojové pole směrem k zápornému nekonečnu. Příklad: 1.6 -> 1, -1.4 -> -2.
round_inf
: Sloučí nebo zkracuje zdrojové pole směrem k nejbližšímu reprezentativnímu hodnotě a zaokrouhlí vazby tak, že zaokrouhlí kladné hodnoty směrem k kladnou nekonečnu a záporné hodnoty do záporného nekonečna. Příklad: 1.4 -> 1, 1.5 -> 2, -1.4 -> -1, -1.5 -> -2.
trunc_zero
: Zařadí všechny desetinné číslice napravo od nejkrajnější desetinné číslice podporované v místě určení bez ohledu na znaménko. Například, je-li cílem celé číslo, všechny desetinné číslice se oseknou. Je-li cílem jiné desetinné číslo s menším počtem desetinných míst, zaokrouhlí nebo ořízne na velikost stupnice místa určení. Příklad: 1.6 -> 1, -1.6 -> -1.
Syntaxe
ds.StringToDecimal(string (string), [rtype (string)])
Vrací: řetězec v desítkovém formátu.
Příklady
Pokud mylink.mystring
obsahuje řetězec "19982.22", pak následující funkce vrací desítkové číslo 19982.22.
ds.StringToDecimal(mylink.mystring)
Pokud mylink.mystring
obsahuje řetězec "19982.2276", pak následující funkce vrací desetinnou hodnotu 19982.23.
ds.StringToDecimal(mylink.mystring,"ceil")
Prvotní StringTo
Vrátí řetězec jako jeho hodnotu prvotního kódu.
Syntaxe
ds.StringToRaw(string (string))
Vrací: odpovídající hodnotu kódu v syrovém kódu řetězce.
Příklady
Pokud mylink.mystring
obsahuje řetězec "hello", pak následující funkce vrací hodnotu "{0x68 0x65 0x6C 0x6C 0x6F}".
ds.StringToRaw(mylink.mystring)
Doba StringTo
Vrátí reprezentaci času daného řetězce.
Syntaxe
ds.StringToTime(string (string), [format (string)])
vrací: řetězec v čase hodnota.
Příklady
Pokud mylink.mystring
obsahuje řetězec "20:06:58", funkce vrací čas 20:06:58.
ds.StringToTime(mylink.mystring)
Pokud mylink.mystring
obsahuje řetězec "20: 6:58", pak funkce vrátí čas 20:06:58.
ds.StringToTime(mylink.mystring,"%(h,s):%(n,s):%(s,s)")
Časové razítko StringTo
Vrátí daný řetězec ve formátu časového razítka.
Syntaxe
ds.StringToTimestamp(string (string), [format (string)])
Vrací: řetězec ve formátu časového razítka.
Příklady
Pokud mylink.mystring
obsahuje řetězec "1958-08-08 20:06:58", funkce vrací časové razítko 1958-08-08 20:06:58.
ds.StringToTimestamp(mylink.mystring)
Pokud mylink.mystring
obsahuje řetězec "8/ 8/1958 20: 6:58", funkce vrací časové razítko 1958-08-08 20:06:58.
ds.StringToTimestamp(mylink.mystring, "%(d,s)/%(m,s)/%yyyy%(h,s):%(n,s):%(s,s)")
StringToUstring
Vrací ustring
z daného řetězce, volitelně s použitím zadané mapy (jinak používá výchozí nastavení projektu).
Syntaxe
ds.StringToUstring(string (string), [mapname (string)])
vrátí: řetězec ve formátu ustring.
Příklady
Pokud mylink.mystring
obsahuje řetězec "11052009", pak následující funkce vrací usstroing "11052009".
ds.StringToUstring(mylink.mystring)
Datum TimestampTo
Vrátí datum z daného časového razítka.
Syntaxe
ds.TimestampToDate(timestamp (timestamp))
vrátí: výsledné datum časového razítka.
Příklady
Pokud mylink.mytimestamp
obsahuje časový údaj 1958-08-18 20:06:58, následující funkce vrací datum 1958-08-18:
ds.TimestampToDate(mylink.mytimestamp)
TimestampTodesetinný.
Vrátí dané časové razítko jako pakované desetinné číslo. Výchozí řetězec formátu je " %yyyy%mm%dd%hh%nn%ss ". Například časové razítko 2009-08-25 14:03:22 je uloženo jako dekadické číslo 20090825140322. Volitelně však můžete zadat řetězec formátu, který určuje, jak je datum uloženo v desetinném čísle. Formátovací řetězce mohou uvádět pouze formát, který obsahuje čísla. Například, nemůžete uvést řetězec formátu jako "%yyyy/%mm/%dd%hh: %nn:%ss", protože znak lomítko (/) a znak dvojtečky (:) nelze uložit v pakované desetinné hodnotě. Následující tokeny jsou platné pro převody na nebo z desetinných hodnot:
%yyyy (four-digit year)
%yy (two-digit year)
%NNNNyy (two-digit year with cutoff)
%mm (two-digit month)
%dd (two-digit day of month)
%ddd (three-digit day of year)
%hh (two-digit hours using 24-hour clock)
%nn (two-digit minutes)
%ss (two-digit seconds)
%ss.N (two-digit seconds, plus the number of fractional digits allowed. The number of fractional digits is from one to six inclusive).
Literálové číslice 0 až 9 jsou také platné.
Pokud zadaný formát zahrnuje mikrosekundy (například %ss.4), odvodí se pozice desetinného místa v desetinné hodnotě. Pozice desetinné čárky se nemusí shodovat se zadaným počtem desetinných míst desetinného místa (například měřítko = 4).
Syntaxe
ds.TimestampToDecimal(timestamp (timestamp), [format (string)])
Vrací: výsledné časové razítko ve formátu zápisu desetinných míst.
Příklady
Pokud mylink.mytimestamp
obsahuje časové razítko 1958-08-18 20:06:58, pak následující funkce vrací desetinnou hodnotu 19580818200658:
ds.TimestampToDecimal(mylink.mytimestamp)
Pokud mylink.mytimestamp
obsahuje časové razítko 1958-08-18 20:06:58, vrátí následující funkce desetinnou hodnotu 200658580818:
ds.TimestampToDecimal(mylink.mytimestamp, "%hh%nn%ss%yy%mm%dd")
Řetězec TimestampTo
Vrací dané časové razítko ve formátu řetězce.
Syntaxe
ds.TimestampToString(timestamp (timestamp), [format (string)])
vrátí: výsledné časové razítko ve formátu řetězce.
Příklady
Pokud mylink.mytimestamp
obsahuje časový údaj 1958-08-18 20:06:58, funkce vrací řetězec "1958-08-18 20:06:58".
ds.TimestampToString(mylink.mytimestamp)
Pokud mylink.mytimestamp
obsahuje časový údaj 1958-08-18 20:06:58, funkce vrátí řetězec "1 8/0 8/1 9 5 8 20:06:58":
ds.TimestampToString(mylink.mytimestamp, "%dd/%mm/%yyyy %hh:%nn:%ss")
Čas TimestampTo
Vrátí dané časové razítko jako formát času.
Syntaxe
ds.TimestampToTime(timestamp (timestamp), [format (string)])
vrátí: výsledné časové razítko ve formátu času.
Příklady
Pokud mylink.mytimestamp
obsahuje časové razítko 1958-08-18 20:06:58, funkce vrací čas 20:06:58:
ds.TimestampToTime(mylink.mytimestamp)
Řetězec TimeTo
Vrátí řetězec z daného času.
Syntaxe
ds.TimeToString(timestamp (timestamp), [format (string)])
vrací: výsledek ve formátu času.
Příklady
Pokud mylink.mytime
obsahuje čas 20:06:58, pak následující funkce vrací řetězec "20:06:58":
ds.TimeToString(mylink.mytime)
Pokud mylink.mytime
obsahuje čas 20:06:58, pak následující funkce vrací řetězec "58:06:20":
ds.TimeToString(mylink.mytime, "%ss:%nn:%hh")
TimeTodesetinný.
Vrátí daný čas jako pakované desetinné číslo. Výchozí řetězec formátu je " %hh%nn%ss ", takže například čas 14:03:22 je uložen jako desítkové číslo 140322. Můžete však volitelně uvést řetězec formátu, který uvádí, jak je čas uložen v desetinném čísle. Formátovací řetězce mohou uvádět pouze formát, který obsahuje čísla. Například nemůžete uvést řetězec formátu jako "%hh: %nn:%ss", protože dvojtečkový znak (:) nemůže být uložen v pakované desetinné hodnotě. Následující tokeny jsou platné pro převody na nebo z desetinných hodnot:
%hh (two-digit hours using 24-hour clock)
%nn (two-digit minutes)
%ss (two-digit seconds)
%ss.N (two-digit seconds, plus the number of fractional digits allowed. The number of fractional digits is from one to six inclusive).
Literálové číslice 0 až 9 jsou také platné.
Pokud zadaný formát zahrnuje mikrosekundy (například %ss.4), odvodí se pozice desetinného místa v desetinné hodnotě. Pozice desetinné čárky se nemusí shodovat se zadaným počtem desetinných míst desetinného místa (například měřítko = 4).
Syntaxe
ds.TimeToDecimal(time (time), [format (string)])
Vrací: čas ve formátu zápisu desetinných míst.
Příklady
Pokud mylink.mytime
obsahuje čas 20:06:58, pak následující funkce vrací desetinnou hodnotu 200658:
ds.TimeToDecimal(mylink.mytime)
Pokud mylink.mytime
obsahuje čas 20:06:58, pak následující funkce vrací desetinnou hodnotu 580620:
ds.TimeToDecimal(mylink.mytime, "%ss%nn%hh")
UniChar
Generuje jednotlivý znak Unicode založený na desetinné hodnotě v rozsahu 0 až 65535.
Syntaxe
ds.UniChar(expression (int32))
vrátí: výsledek formátovacího řetězce.
Příklad
Následující kód vrátí "ő":
ds.UniChar(0x00F5)
UniSeq
Generuje desetinnou hodnotu na základě jediného znaku Unicode.
Syntaxe
ds.UniSeq(expression (string))
vrátí: odpovídající desetinné číslo na znak Unicode ve formátu int32.
Příklad
Následující kód vrátí hodnotu 195:
ds.UniSeq("ä")
Řetězec UstringTo
Vrací řetězec z daného využití, volitelně s použitím určené mapy (jinak používá výchozí mapu projektu).
Syntaxe
ds.UstringToString(string (ustring), [mapname(string)])
vrátí: výsledek ve formátu řetězce.
Příklady
Pokud mylink.myustring
obsahuje použití řetězce "11052009", pak následující funkce vrací řetězec "11052009":
ds.UstringToString(mylink.myustring)
Xtd
Převádí hexadecimální řetězec na dekadický formát.
Syntaxe
ds.Xtd(hexadecimal (string))
returns: odpovídající desítková hodnota k hexadecimálnímu řetězci.
Příklad
Následující kód vrátí 48879:
ds.Xtd("beef")
Int
Vrací celočíselnou část výrazu. Všechny zadané aritmetické operace jsou vypočítány pomocí úplné přesnosti systému. Zlomková část hodnoty je osekána, není zaokrouhlena, a zbývající část zbývající části je vrácena.
Syntaxe
ds.Int(expression (dfloat))
Vrací: desítkovou hodnotu zaokrouhlenou a převedenou na typ int64.
Příklad
Následující kód vrátí hodnotu 454:
ds.Int(454.95)
Následující kód vrátí hodnotu 2:
ds.Int(2.35)
Funkce data a času
Tyto funkce používejte pro funkce dat a času ve výrazu.
Funkce, které specifikují data, časy nebo časová razítka v argumentech, používají řetězce se specifickými formáty:
- Pro datum je formát
%yyyy-%mm-%dd
- Pro daný čas je formát
%hh:%nn:%ss
. Je-li rozšířen o mikrosekundy, formát je%hh:%nn:%ss.x
, kde x udává počet desetinných míst, na které je dán počet sekund. - Pro časové razítko je formát s formátem data následovaným formátem času.
Funkce, které mají dny v týdnu v argumentu, obsahují řetězec, který uvádí den v týdnu. Den je určen jako trojpísmenná zkratka, nebo úplný název. Například řetězce "thu" a "thursday" jsou platné.
CurrentDate
Vrátí datum, kdy úloha běží.
Syntaxe
ds.CurrentDate()
vrátí: aktuální datum ve formátu data.
Příklady
Použijte tuto funkci k získání aktuálního data.
ds.CurrentDate()
CurrentTime
Vrátí čas, kdy se úloha spustí.
Syntaxe
ds.CurrentTime()
vrátí: aktuální čas ve formátu času.
Příklady
Použijte tuto funkci k získání aktuálního času.
ds.CurrentTime()
CurrentTimeMS
Vrátí čas, včetně mikrosekund, kdy se úloha spustí.
Syntaxe
ds.CurrentTimeMS()
returns: aktuální čas ve formátu času, včetně mikrosekund.
Příklady
Tuto funkci použijte k načtení aktuálního času do výstupních dat.
ds.CurrentTimeMS()
CurrentTimestamp
Vrací časové razítko, které uvádí datum a čas, kdy úloha běží.
Syntaxe
ds.CurrentTimestamp()
vrátí: aktuální časové razítko ve formátu časového razítka.
Příklady
Tuto funkci použijte k načtení aktuálního časového razítka do výstupních dat.
ds.CurrentTimestamp()
CurrentTimestampMS
Vrátí časové razítko (včetně mikrosekund), které udává datum a čas, kdy úloha běží.
Syntaxe
ds.CurrentTimestampMS()
vrátí: aktuální časové razítko ve formátu časového razítka.
Příklady
Tuto funkci použijte k načtení aktuálního časového razítka do výstupních dat.
ds.CurrentTimestampMS()
Datum
Vrací jedinou číselnou hodnotu dnů, která uplyne mezi datem vnitřního systému a 31. prosincem 1967, což je den 0. Všechna data po jsou kladná čísla představující počet dnů uplynulých od dne 0. Všechna data před tím jsou záporná čísla představující počet dnů před dnem 0.
Syntaxe
ds.Date()
vrátí: výsledné datum ve formátu int.
Příklady
Je-li aktuální datum 15. listopad 1967, následující kód vrátí -46. Je-li aktuální datum 15. února 1968, následující kód vrátí hodnotu 46:
ds.Date()
DateFromDaysSince
Vrátí datum přidáním celého čísla do data úrovně baseline. Celé číslo může být záporné, aby bylo vráceno datum, které je dřívější než datum referenčního stavu.
Syntaxe
ds.DateFromDaysSince(number (int32), [baseline_date_object (string)])
vrátí se: datum přidáním celého čísla do data úrovně baseline, které uživatel zadá.
Příklady
Pokud mylink.myintcol
obsahuje celé číslo 18250 a mylink.mydatecol
obsahuje datum 1958-08-18, pak jsou tři následující funkce ekvivalentní a vrátí datum 2008-08-05:
ds.DateFromDaysSince(18250,"1958-08-18")
ds.DateFromDaysSince(mylink.myintcol,"1958-08-18")
ds.DateFromDaysSince(mylink.myintcol,mylink.mydatecol)
Pokud mylink.mynegintcol
obsahuje celé číslo -1 a mylink.mydatecol
obsahuje datum 1958-08-18, pak jsou následující tři funkce ekvivalentní a vrátí datum 1958-08-17:
ds.DateFromDaysSince(-1,"1958-08-18")
ds.DateFromDaysSince(mylink.mynegintcol,"1958-08-18")
ds.DateFromDaysSince(mylink.mynegintcol,mylink.mydatecol)
DateFromDaysSince2
Vrátí datum přidáním celého čísla do data úrovně baseline. Celé číslo může být záporné, aby bylo vráceno datum, které je dřívější než datum referenčního stavu.
Syntaxe
ds.DateFromDaysSince2(number (int32), [baseline_date_object (date)])
vrátí se: datum přidáním celého čísla do data úrovně baseline, které uživatel zadá.
Příklady
Pokud mylink.myint
obsahuje celé číslo 18250 a mylink.mydate
obsahuje datum 1958-08-18, pak jsou tři následující funkce ekvivalentní a vrátí datum 2008-08-05:
ds.DateFromDaysSince2(18250,"1958-08-18")
ds.DateFromDaysSince2(mylink.myint,"1958-08-18")
ds.DateFromDaysSince2(mylink.myint, mylink.mydate)
Pokud mylink.mynegint
obsahuje celé číslo -1 a mylink.mydate
obsahuje datum 1958-08-18, pak jsou následující tři funkce ekvivalentní a vrátí datum 1958-08-17:
ds.DateFromDaysSince2(-1,"1958-08-18")
ds.DateFromDaysSince2(mylink.mynegint,"1958-08-18")
ds.DateFromDaysSince2(mylink.mynegint, mylink.mydate)
Komponenty DateFrom
Vrátí datum z daných roků, měsíců a den v měsíci, které jsou uvedeny jako tři samostatné hodnoty.
Syntaxe
ds.DateFromComponents(years (int32), months (int32), dayofmonth (int32))
vrátí: jedno datum se zadanými hodnotami.
Příklady
Pokud mylink.year
obsahuje hodnotu 2010, mylink.month
obsahuje hodnotu 12 a mylink.dayofmonth
obsahuje hodnotu 2, pak jsou dvě následující funkce ekvivalentní a vrátí datum 2010-12-02.
ds.DateFromComponents(2010, 12, 2)
ds.DateFromComponents(mylink.year, mylink.month, mylink.dayofmonth)
DateFromJulianDay
Vrátí datum z daného juliánského čísla.
Syntaxe
ds.DateFromJulianDay(julianday (uint32))
vrátí: datum uvedené juliánské hodnoty.
Příklady
Pokud mylink.myjul
obsahuje hodnotu 2454614, pak jsou dvě následující funkce ekvivalentní a vrací datum 2008-05-27.
ds.DateFromJulianDay(2454614)
ds.DateFromJulianDay(mylink.myjul)
DateOffsetByComponents
Vrátí zadané datum s posuny, které jsou použity od posunutí daného roku, posunutí měsíce a posunutí dne v měsíci, zadané jako tři samostatné hodnoty. Hodnoty offsetu mohou být každé kladné, nulové nebo záporné.
Syntaxe
ds.DateOffsetByComponents(basedate (date), year_offset (int32), month_offset (int32), dayofmonth_offset (int32))
returns: Dané datum posunutí data formátování.
Příklady
Pokud mylink.basedate
obsahuje hodnoty 2011-08-18 a mylink.yearos
obsahuje hodnotu 2, mylink.monthos
obsahuje hodnotu 0 a mylink.dayofmonthosol
obsahuje hodnotu 0, pak tyto dvě funkce jsou ekvivalentní a vrací datum 2013-08-18.
ds.DateOffsetByComponents("2011-08-18", 2, 0, 0)
ds.DateOffsetByComponents(mylink.basedate, mylink.yearos, mylink.monthos, mylink.dayofmonthos)
Pokud mylink.basedate
v letech 2011-08-18 a mylink.yearos
obsahuje hodnotu -2, mylink.monthos
obsahuje hodnotu 0 a mylink.dayofmonthosol
obsahuje hodnotu 0, pak jsou dvě následující funkce ekvivalentní a vrátí datum 2009-08-18.
ds.DateOffsetByComponents("2011-08-18", -2, 0, 0)
ds.DateOffsetByComponents(mylink.basedate, mylink.yearos, mylink.monthos, mylink.dayofmonthos)
Den
Vrátí den v měsíci od systémového data.
Syntaxe
ds.Day()
Vrací: den v měsíci ve formátu int.
Příklady
Je-li aktuální datum 1967-12-31, následující kód vrátí hodnotu 31.
ds.Day()
DaysSinceFromDate
Vezme dané datum typu datum a zdrojové datum typu řetězec a vrátí počet dnů ze zdrojového data k danému datu.
Syntaxe
ds.DaysSinceFromDate(given_date (date), source_date_string (string))
vrátí: Rozdíl ve dnech mezi dvěma danými daty typu int32.
Příklady
Pokud mylink.mysourcedate
obsahuje datum 1958-08-18 a mylink.mygivendate
obsahuje datum 2008-08-18, pak jsou dvě následující funkce ekvivalentní a vrátí celočíselnou hodnotu 18263.
ds.DaysSinceFromDate(mylink.mygivendate, mylink.mysourcedate)
ds.DaysSinceFromDate("2008-08-18","1958-08-18")
DaysSinceFromDate2
Vezme dané datum typu datum a zdrojové datum typu datum a vrátí počet dnů ze zdrojového data k danému datu.
Syntaxe
ds.DaysSinceFromDate2(given_date (date), source_date_object (date))
vrací: rozdíl ve dnech mezi dvěma danými daty ve formátu int32 .
Příklady
Pokud mylink.mysourcedate
obsahuje datum 1958-08-18 a mylink.mygivendate
obsahuje datum 2008-08-18, pak jsou dvě následující funkce ekvivalentní a vrátí celočíselnou hodnotu 18263.
ds.DaysSinceFromDate2(mylink.mygivendate, mylink.mysourcedate)
ds.DaysSinceFromDate2("2008-08-18","1958-08-18")
DaysInMěsíc
Vrátí počet dnů v měsíci v daném základním datu.
Syntaxe
ds.DaysInMonth(basedate (date))
vrací: počet dnů v měsíci ve formátu int32 .
Příklady
Pokud mylink.mysourcedate
obsahuje datum 1958-08-18, pak jsou dvě následující funkce ekvivalentní a vrátí celočíselnou hodnotu 31.
ds.DaysInMonth(mylink.mysourcedate)
ds.DaysInMonth("1958-08-18")
DaysIn-rok
Vrátí počet dní v roce v daném základním datu.
Syntaxe
ds.DaysInYear(basedate (date))
Vrací: počet dní v roce ve formátu int32 .
Příklady
Pokud mylink.mysourcedate obsahuje datum 2012-08-18, pak jsou dvě následující funkce ekvivalentní a vrátí celočíselnou hodnotu 366.
ds.DaysInYear(mylink.mysourcedate)
ds.DaysInYear("2012-08-18")
Pokud skript mylink.mysourcedate obsahuje datum 2011-08-18, pak jsou dvě následující funkce ekvivalentní a vrátí celočíselnou hodnotu 365.
ds.DaysInYear(mylink.mysourcedate)
ds.DaysInYear("2011-08-18")
DateOffsetByDays
Vrátí dané posunutí dat o zadaný počet dní. Hodnota offsetu může být kladná, nulová nebo záporná.
Syntaxe
ds.DateOffsetByDays(basedate (date), dayoffset (int32))
Vrací: objekt typu datum s odpovídajícím ofsetem.
Příklady
Pokud mylink.basedate
obsahuje hodnotu 2011-08-18 a mylink.dayoffset
obsahuje hodnotu 2, pak jsou dvě následující funkce ekvivalentní a vrací datum 2011-08-20.
ds.DateOffsetByDays("2011-08-18", 2)
ds.DateOffsetByDays(mylink.basedate, mylink.dayoffset)
Pokud mylink.basedate obsahuje 2011-08-18 a mylink.dayoffset obsahuje hodnotu -31, pak jsou dvě následující funkce ekvivalentní a vrací datum 2011-07-18.
ds.DateOffsetByDays("2011-08-18", -31)
ds.DateOffsetByDays(mylink.basedate, mylink.dayoffset)
HoursFromČas
Vrátí počet hodin daného času.
Syntaxe
ds.HoursFromTime(time (time))
Vrací: hodnotu hodin ve formátu int8 .
Příklady
Pokud mylink.mytime
obsahuje čas 22:30:00, pak následující dvě funkce jsou ekvivalentní a vrátí celočíselnou hodnotu 22.
ds.HoursFromTime(mylink.mytime)
ds.HoursFromTime("22:30:00")
JulianDayFromDate
Vrátí číslo juliánského kalendáře z daného data.
Syntaxe
ds.JulianDayFromDate(time (time))
returns: juliánské číslo ve formátu int32 , zadaného data.
Příklady
Pokud mylink.mydate
obsahuje datum 2008-05-27, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 2454614.
ds.JulianDayFromDate("2008-05-27")
ds.JulianDayFromDate(mylink.mydate)
MicroSecondsFromTime
Vrátí část času z mikrosekund.
Syntaxe
ds.MicroSecondsFromTime(time (time))
Vrací: hodnotu mikrosekund času ve formátu int32 .
Příklady
Pokud mylink.mytime
obsahuje čas 22:30:00.32, pak následující funkce vrátí hodnotu 320000:
ds.MicroSecondsFromTime(mylink.mytime)
MidnightSecondsFromTime
Vrátí počet sekund od půlnoci do zadané doby.
Syntaxe
ds.MidnightSecondsFromTime(time (time))
vrací: hodnotu sekund od půlnoci do času, ve formátu int8 .
Příklady
Pokud mylink.mytime
obsahuje čas 00:30:52, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 1852:
ds.MidnightSecondsFromTime("00:30:52")
ds.MidnightSecondsFromTime(mylink.mytime)
MinutesFromČas
Vrátí část minut času.
Syntaxe
ds.MinutesFromTime(time (time))
Vrací: hodnotu minut času ve formátu int8 .
Příklady
Pokud mylink.mytime
obsahuje čas 22:30:52, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 30:
ds.MinutesFromTime("22:30:52")
ds.MinutesFromTime(mylink.mytime)
MonthDayFromDate
Vrátí den v měsíci z daného data.
Syntaxe
ds.MonthDayFromDate(date (date))
vrátí: den v měsíci z daného data ve formátu int8 .
Příklady
Pokud mylink.mydate
obsahuje datum 2008-08-18, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 18:
ds.MonthDayFromDate("2008-08-18")
ds.MonthDayFromDate(mylink.mydate)
Datum MonthFrom
Vrátí číslo měsíce od daného data.
Syntaxe
ds.MonthFromDate(date (date))
Vrací: číslo měsíce ve formátu int8.
Příklady
Pokud mylink.mydate
obsahuje datum 2008-08-18, pak obě následující funkce vrací hodnotu 8:
ds.MonthFromDate("2008-08-18")
ds.MonthFromDate(mylink.mydate)
WeekdayFromDatum
Vrátí číslo dne v týdnu od daného data. Může uvádět den, který je považován za první v týdnu, a pokud není zadán, bude standardně neděle.
Syntaxe
ds.WeekdayFromDate(date (date), [origin_day (string)])
vrátí: den v týdnu od daného data ve formátu int8 .
Příklady
Pokud mylink.mydate
obsahuje datum 2008-08-18, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 1:
ds.WeekdayFromDate("2008-08-18")
ds.WeekdayFromDate(mylink.mydate)
Pokud mylink.mydate
obsahuje datum 2008-08-18 a mylink.origin_day
obsahuje "satuday", pak jsou následující funkce ekvivalentní a vrátí hodnotu 2:
ds.WeekdayFromDate("2008-08-18", "saturday")
ds.WeekdayFromDate("2008-08-18", "sat")
ds.WeekdayFromDate(mylink.mydate, mylink.origin_day)
NextWeekdayFromDate
Vrátí datum uvedeného dne v týdnu po datu, kdy byl zadán. Den v týdnu je určen jako úplný název, například thursday, nebo třípísmenná zkratka, např. "thu".
Syntaxe
ds.NextWeekdayFromDate(sourcedate (date), day_of_week (string))
vrací: den v měsíci od daného data.
Příklady
Pokud mylink.mysourcedate
obsahuje datum 2008-08-18 a den v týdnu, který je uvedený, je čtvrtek, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 2008-08-21:
ds.NextWeekdayFromDate("2008-08-18", "thursday")
ds.NextWeekdayFromDate(mylink.mysourcedate, "thu")
NthWeekdayFromDate
Vrátí datum uvedeného dne v týdnu od zadaného počtu týdnů od data zdroje. Den v týdnu je určen jako úplný název, například thursday, nebo třípísmenná zkratka, např. thu. Hodnoty offsetu mohou být kladné, záporné nebo nulové.
Syntaxe
ds.NthWeekdayFromDate(basedate (date), day_of_week (string), week_offset (int32))
vrátí: datum zadaného pracovního dne podle týdnů od zadaného data.
Příklady
Pokud mylink.mydate
obsahuje datum 2009-08-18 a čtvrtek je zadán s posunem 1, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 2009-08-20. Je vrácen první výskyt čtvrtek. V příkladu pokračování se tento čtvrtek vyskytuje ve stejném týdnu jako datum 2009-08-18. Datum 2009-08-18 je úterý.
ds.NthWeekdayFromDate("2009-08-18", "thursday", 1)
ds.NthWeekdayFromDate(mylink.mydate, "thu", 1)
Pokud mylink.mydate
obsahuje datum 2009-08-18 a čtvrtek je uvedeno s posunem -2, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 2009-08-06. Je vrácen výskyt čtvrtka, který má dva čtvrtky za uplynulý čas.
ds.NthWeekdayFromDate("2009-08-18", "thursday", -2)
ds.NthWeekdayFromDate(mylink.mydate, "thu", -2)
PreviousWeekdayFromDate
Vrátí datum uvedeného dne v týdnu, který je posledním dnem před datem zdroje. Den v týdnu je určen jako úplný název, například thursday, nebo třípísmenná zkratka, např. "thu".
Syntaxe
ds.PreviousWeekdayFromDate(sourcedate (date), day_of_week (string))
vrátí: datum posledního dne v týdnu od zadaného data.
Příklady
Pokud mylink.mysourcedate
obsahuje datum 2008-08-18 a je zadán čtvrtek, pak jsou dvě následující funkce ekvivalentní a vrací hodnotu 2008-08-14:
ds.PreviousWeekdayFromDate("2008-08-18", "thursday")
ds.PreviousWeekdayFromDate(mylink.mysourcedate, "thu")
SecondsFromČas
Vrátí část sekund (sekundy).
Syntaxe
ds.SecondsFromTime(time (time))
Vrací: hodnotu sekund času ve formátu dfloat.
Příklady
Pokud mylink.mytime
obsahuje čas 22:30:52, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 52:
ds.SecondsFromTime("22:30:52")
ds.SecondsFromTime(mylink.mytime)
SecondsSinceFromTimestamp
Vrátí počet sekund mezi dvěma objekty časového razítka.
Syntaxe
ds.SecondsSinceFromTimestamp(timestamp (timestamp), timestamp_base_string (string))
Vrací: hodnotu sekund ve formátu dfloat.
Příklady
Pokud mylink.mytimestamp
obsahuje časové razítko 2008-08-18 22:30:52 a mylink.mytimestamp_base
obsahuje časové razítko 2008-08-19 22:30:52, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu -86400:
ds.SecondsSinceFromTimestamp("2008-08-18 22:30:52","2008-08-19 22:30:52")
ds.SecondsSinceFromTimestamp(mylink.mytimestamp, mylink.mytimestamp_base)
SecondsSinceFromTimestamp2
Vrátí počet sekund mezi dvěma objekty časového razítka.
Syntaxe
ds.SecondsSinceFromTimestamp2(time stamp (timestamp), timestamp_base_object (timestamp))
Vrací: hodnotu sekund ve formátu dfloat.
Příklady
Pokud mylink.mytimestamp
obsahuje časové razítko 2008-08-18 22:30:52 a mylink.mytimestamp_base
obsahuje časové razítko 2008-08-19 22:30:52, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu -86400:
ds.SecondsSinceFromTimestamp2("2008-08-18 22:30:52","2008-08-19 22:30:52")
ds.SecondsSinceFromTimestamp2(mylink.mytimestamp, mylink.mytimestamp_base)
Čas
Vrátí řetězcovou hodnotu vyjadřující vnitřní čas dne. Interní čas je počet sekund, které uplynuly od půlnoci do nejbližšího tisíciny sekundy (místního času).
Syntaxe
ds.Time()
vrátí: výsledný čas formátovacího řetězce.
Příklady
Je-li aktuální čas 11:17:43:19, následující kód vrátí hodnotu 40663.842:
ds.Time()
TimeDate
Vrací systémový čas a datum jako formátovaný řetězec.
Syntaxe
ds.TimeDate()
vrátí: systémový čas a datum ve formátu řetězce.
Komponenty TimeFrom
Vrací čas typu datum z daných hodin, minut, sekund a mikrosekund jako int32.
Syntaxe
ds.TimeFromComponents(hours (int32), minutes (int32), seconds (int32), microseconds (int32))
vrací: čas v typu datum.
Příklady
Pokud mylink.hourcol
obsahuje hodnotu 10, mylink.mincol obsahuje hodnotu 12, mylink.seccol obsahuje hodnotu 2 a mylink.mseccol
obsahuje hodnotu 0, pak jsou dvě následující funkce ekvivalentní a vrací čas 10:12:02:
ds.TimeFromComponents(10, 12, 2, 0)
ds.TimeFromComponents(mylink.hourcol, mylink.mincol, mylink.seccol, mylink.mseccol)
TimeFromMidnightSeconds
Vrátí systémový čas ve formátu času.
Syntaxe
ds.TimeFromMidnightSeconds(seconds (time))
Vrací: sekundy od půlnoci ve formátu času.
Příklady
Pokud mylink.mymidnightseconds
obsahuje hodnotu 240, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 00:04:00:
ds.TimeFromMidnightSeconds(240)
ds.TimeFromMidnightSeconds(mylink.mymidnightseconds)
TimeOffsetByComponents
Vrací čas s posuny, které jsou použity od základního času s posunutím hodin, posunem minut a druhým posunutím, přičemž každá z nich je uvedena jako samostatné hodnoty. Offset sekund může zahrnovat částečné sekundy.
Syntaxe
ds.TimeOffsetByComponents(basetime (time), hour_offset (int32), minute_offset (int32), second_offset (dfloat))
Vrací: časový posun o zadané hodnoty.
Příklady
Pokud mylink.basetime
obsahuje 14:05:29 a mylink.houros
obsahuje hodnotu 2, mylink.minos
obsahuje hodnotu 0, mylink.secos
obsahuje hodnotu 20, pak dvě následující funkce jsou ekvivalentní a vracejí čas 16:05:49.
ds.TimeOffsetByComponents("14:05:29", 2, 0, 20)
ds.TimeOffsetByComponents(mylink.basetime, mylink.houros, mylink.minos, mylink.secos)
TimeOffsetBySeconds
Vrátí zadaný čas s posuny použité od základního času s posunutím sekund. Offset sekund může zahrnovat částečné sekundy.
Syntaxe
ds.TimeOffsetBySeconds(basetime (time), second_offset (dfloat))
vrátí: čas s posunutím sekund podle zadané hodnoty.
Příklady
Pokud mylink.basetime
obsahuje hodnotu 14:05:29.30 a mylink.secos
obsahuje hodnotu 2.5, pak jsou dvě následující funkce ekvivalentní a vrací čas 14:05:31.
ds.TimeOffsetBySeconds("14:05:29.30", 2.5)
ds.TimeOffsetBySeconds(mylink.basetime, mylink.secos)
TimestampFromDateTime
Vrátí časové razítko z daného data a času.
Syntaxe
ds.TimestampFromDateTime(date (date), time (time))
Vrací: časové razítko daného data a času.
Příklady
Pokud mylink.mydate
obsahuje datum 2008-08-18 a mylink.mytime
obsahuje čas 22:30:52, pak jsou dvě následující funkce ekvivalentní a vracejí časové razítko 2008-08-18 22:30:52:
ds.TimestampFromDateTime("2008-08-18","22:30:52")
ds.TimestampFromDateTime(mylink.mydate, mylink.mytime)
TimestampFromSecondsSince
Vrací časové razítko, které je odvozeno od počtu sekund od základního objektu časového razítka.
Syntaxe
ds.TimestampFromSecondsSince(seconds (dfloat), [base_timestamp_object (string)])
Vrací: časové razítko odvozeno z dané hodnoty sekund.
Příklady
Pokud mylink.myseconds
obsahuje hodnotu 2563 a mylink.timestamp_base
obsahuje časové razítko 2008-08-18 22:30:52, pak jsou dvě následující funkce ekvivalentní a vracejí časové razítko 2008-08-18 23:13:35:
ds.TimestampFromSecondsSince(2563,"2008-08-18 22:30:52")
ds.TimestampFromSecondsSince(mylink.myseconds,mylink.timestamp_base)
TimestampFromSecondsSince2
Vrací časové razítko, které je odvozeno od počtu sekund od základního objektu časového razítka.
Syntaxe
ds.TimestampFromSecondsSince2(seconds (dfloat), [base_timestamp_object (timestamp)])
Vrací: časové razítko odvozeno z dané hodnoty sekund.
Příklady
Pokud mylink.myseconds
obsahuje hodnotu 2563 a mylink.timestamp_base
obsahuje časové razítko 2008-08-18 22:30:52, pak jsou dvě následující funkce ekvivalentní a vracejí časové razítko 2008-08-18 23:13:35:
ds.TimestampFromSecondsSince2(2563,"2008-08-18 22:30:52")
ds.TimestampFromSecondsSince2(mylink.myseconds, mylink.timestamp_base)
TimestampFromTimeet
Vrátí časové razítko z dané hodnoty řetězce systému UNIX time_t
.
Syntaxe
ds.TimestampFromTimet(timet_string (int32))
Vrací: časové razítko odvozeno z dané hodnoty sekund.
Příklady
Pokud mylink.mytimet
obsahuje hodnotu 1234567890, pak jsou dvě následující funkce ekvivalentní a vracejí časové razítko 2009-02-13 23:31:30:
ds.TimestampFromTimet(1234567890)
ds.TimestampFromTimet(mylink.mytimet)
TimestampFromTime2
Vrací časové razítko z daných objektů času a označení času. Hodnota v časovém objektu přepíše hodnotu času v objektu časového razítka, takže se z časového razítka použije pouze část data.
Syntaxe
ds.TimestampFromTime2(time (time), timestamp (timestamp))
vrací: časové razítko z daných objektů času a označení času.
Příklady
Pokud mylink.mytime
obsahuje čas 12:03:22 a mylink.mytimestamp
obsahuje časové razítko 2008-08-18 22:30:52, pak jsou dvě následující funkce ekvivalentní a vracejí časové razítko 2008-08-18 12:03:22:
ds.TimestampFromTime2("12:03:22", "2008-08-18 22:30:52")
ds.TimestampFromTime2(mylink.mytime, mylink.mytimestamp)
TimestampOffsetByComponents
Vrátí časové razítko s posuny použité od základního časového razítka s posunutím roku, posunem měsíce, posunem dne, posunutím hodin, posunutím minut a druhým offsetem, přičemž každý z nich bude uveden jako samostatné hodnoty. Offset sekund může zahrnovat mikrosekundy.
Syntaxe
ds.TimestampOffsetByComponents(basetimestamp (timestamp), year_offset (int32), month_offset (int32), dayofmonth_offset (int32), hour_offset (int32), minute_offset (int32), second_offset (dfloat))
vrací: posun časového razítka podle zadaných hodnot.
Příklady
Pokud mylink.basetimestamp
obsahuje 2009-08-18 14:05:29 a mylink.yearos
obsahuje 0, mylink.monthos
obsahuje hodnotu 2, mylink.dayos
obsahuje hodnotu -4, mylink.houros
obsahuje hodnotu 2, mylink.minos
obsahuje hodnotu 0, mylink.secos
obsahuje hodnotu 20, pak dvě následující funkce jsou ekvivalentní a vrátí časový údaj 2009-10-14 16:05:49.
ds.TimestampOffsetByComponents("2009-08-18 14:05:29", 0, 2, -4, 2, 0, 20)
ds.TimestampOffsetByComponents(mylink.basetimestamp, mylink.houros,
mylink.minos, mylink.secos)
TimestampOffsetBySeconds
Vrátí časové razítko s posuny použité od základního časového razítka s posunutím sekund. Offset sekund může zahrnovat mikrosekundy.
Syntaxe
ds.TimestampOffsetBySeconds(basetimestamp (timestamp), second_offset (dfloat))
vrací: posun časového razítka podle zadaných hodnot ve formátu časového razítka.
Příklady
Pokud mylink.basetimestamp
obsahuje hodnotu 2009-08-18 14:05:29 a mylink.secos
obsahuje hodnotu 32760, pak jsou dvě následující funkce ekvivalentní a vracejí časové razítko 2009-08-18 23:11:29:
ds.TimestampOffsetBySeconds("2009-08-18 14:05:29", 32760)
ds.TimestampOffsetBySeconds(mylink.basetimestamp, mylink.secos)
Časové razítko TimetFrom
Vrací hodnotu UNIX time_t z daného časového razítka.
Syntaxe
ds.TimetFromTimestamp(timestamp (timestamp))
vrací: v systému UNIX time_t podle časového označení ve formátu int32 .
Příklady
Pokud mylink.mytimestamp
obsahuje hodnotu 2009-02-13 23:31:30, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 1234567890:
ds.TimetFromTimestamp("2009-02-13 23:31:30")
ds.TimetFromTimestamp(mylink.mytimestamp)
YeardayFromDatum
Vrátí číslo dne v roce z daného data.
Syntaxe
ds.YeardayFromDate(date (date))
Vrací: číslo dne ve formátu int16 .
Příklady
Pokud mylink.mydate
obsahuje datum 2008-08-18, pak jsou dvě následující funkce ekvivalentní, a vrátí hodnotu 231:
ds.YeardayFromDate("2008-08-18")
ds.YeardayFromDate(mylink.mydate)
YearFromDatum
Vrátí rok od daného data.
Syntaxe
ds.YearFromDate(date (date))
Vrací: číslo roku ve formátu int16 .
Příklady
Pokud mylink.mydate
obsahuje datum 2008-08-18, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 2008:
ds.YearFromDate("2008-08-18")
ds.YearFromDate(mylink.mydate)
YearweekFromDatum
Vrátí číslo týdne v roce od daného data.
Syntaxe
ds.YearweekFromDate(date (date))
Vrací: číslo týdne ve formátu int16 .
Příklady
Pokud mylink.mydate
obsahuje datum 2008-08-18, pak jsou dvě následující funkce ekvivalentní a vrátí hodnotu 33:
ds.YearweekFromDate("2008-08-18")
ds.YearweekFromDate(mylink.mydate)
Měsíc
Vrátí aktuální měsíc.
Syntaxe
ds.Month()
Vrací: aktuální měsíc.
Příklady
Následující kód vrací aktuální měsíc ve formátu int.
ds.Month()
Rok
Vrátí aktuální rok.
Syntaxe
ds.Year()
returns: the current year in int format.
Příklady
Následující kód vrací aktuální rok.
ds.Year()
Logické funkce
Logické funkce provádějí bitové operace.
BitAnd
Vrací bitové AND
z těchto dvou celočíselných argumentů.
Syntaxe
ds.BitAnd(number1 (uint64), number2 (uint64))
Vrací: Bitový operátor AND
ve formátu uint64 .
Příklady
Pokud mylink.mynumber1
obsahuje číslo 352 a mylink.mynumber2 obsahuje číslo 400, pak jsou následující dvě funkce ekvivalentní a vrátí hodnotu 256:
ds.BitAnd(352,400)
ds.BitAnd(mylink.mynumber1, mylink.mynumber2)
BitCompress
Vrací celé číslo z argumentu string, který obsahuje binární reprezentaci "1"s a" 0"s.
Syntaxe
ds.BitCompress(string (string))
Vrací: výsledné číslo reprezentované binárními soubory ve formátu uint64.
Příklady
Pokud mylink.mynumber1
obsahuje řetězec "0101100000", pak následující dvě funkce vrátí číslo 352.
ds.BitCompress("0101100000")
ds.BitCompress(mylink.mynumber)
BitExpand
Vrací řetězec obsahující binární reprezentaci v "1"s a" 0"s daným celým číslem.
Syntaxe
ds.BitExpand(number (uint64))
returns: řetězec obsahující binární reprezentaci celého čísla.
Příklady
Pokud mylink.mynumber1
obsahuje číslo 352, pak jsou následující dvě funkce ekvivalentní a vrátí řetězec "101100000".
ds.BitExpand(352)
ds.BitExpand(mylink.mynumber)
BitOr
Vrací bitové OR
z těchto dvou celočíselných argumentů.
Syntaxe
ds.BitOr(number1 (uint64), number2 (uint64))
returns: bitwise OR
of the two integer arguments.
Příklady
Pokud mylink.mynumber1
obsahuje číslo 352 a mylink.mynumber2 obsahuje číslo 400, pak následující dvě funkce jsou ekvivalentní a vrátí hodnotu 496:
ds.BitOr(352,400)
ds.BitOr(mylink.mynumber1, mylink.mynumber2)
BitXOr
Vrací bitové Exclusive OR
z těchto dvou celočíselných argumentů.
Syntaxe
ds.BitXOr(number1 (uint64), number2 (uint64))
Vrací: Exclusive OR
ve formátu uint64 .
Příklady
Pokud mylink.mynumber1
obsahuje číslo 352 a mylink.mynumber2
obsahuje číslo 400, pak jsou následující dvě funkce ekvivalentní a vrací hodnotu 240:
ds.BitXOr(352,400)
ds.BitXOr(mylink.mynumber1, mylink.mynumber2)
Ne
Vrátí komplement logické hodnoty výrazu. Je-li hodnota výrazu true, funkce Not
vrátí hodnotu false (0). Je-li hodnota výrazu false, funkce NOT
vrátí hodnotu true (1). Numerický výraz, který se vyhodnotí na hodnotu 0, je logická hodnota false. Numerický výraz, který se vyhodnocuje na vše ostatní, kromě hodnoty null, je logickou hodnotou true. Prázdný řetězec je logicky nepravdivý. Všechny ostatní řetězcové výrazy včetně řetězců, které obsahují prázdný řetězec, mezery, nebo číslo 0 a mezery, jsou logicky pravdivé.
Syntaxe
ds.Not()
Vrací: hodnotu complement
ve formátu int8 .
Příklady
Pokud mylink.myexpression
obsahuje výraz 5-5, pak jsou následující dvě funkce ekvivalentní a vrátí hodnotu 1:
ds.Not(5-5)
ds.Not(mylink.myexpression)
Pokud mylink.myexpression
obsahuje výraz 5 + 5, pak jsou následující dvě funkce ekvivalentní a vrací hodnotu 0:
ds.Not(5+5)
ds.Not(mylink.myexpression)
SetBit
Vrací celé číslo se specifickými bity nastavenými do specifického stavu, kde origfield
je vstupní hodnota pro provedení akce, bitlist
je řetězec obsahující seznam čísel bitů oddělených čárkou pro nastavení stavu a bitstate
je buď 1, nebo 0, což označuje, jaký stav mají být nastaveny na bity.
Syntaxe
ds.SetBit(origfield (uint64), bitlist (string), bitstate (uint8))
returns: číslo s bity nastaveným na zadaný stav ve formátu uint64 .
Příklady
Pokud mylink.origfield
obsahuje číslo 352, mylink.bitlist
obsahuje seznam "2,4,8" a mylink.bitstate
obsahuje hodnotu 1, pak jsou následující dvě funkce ekvivalentní a vrací hodnotu 494:
ds.SetBit(356,"2,4,8",1)
ds.SetBit(mylink.origfield, mylink.bitlist, mylink.bitstate)
Pravda
Vrátí logickou hodnotu 1.
Syntaxe
ds.True()
vrátí: celé číslo 1.
Příklady
Následující kód vrátí hodnotu 1:
ds.True()
Nepravda
Vrátí hodnotu false 0.
Syntaxe
ds.False()
vrací: celé číslo 0.
Příklady
Následující kód vrátí hodnotu 0:
ds.False()
Mathmatické funkce
Matematické funkce provádí matematické operace.
ABS
Vrací absolutní hodnotu libovolného číselného výrazu. Absolutní hodnota výrazu je jeho velikost bez znaménka.
Syntaxe
ds.Abs(numeric_expression (int32))
returns: absolutní hodnota číselného výrazu ve formátu dfloat.
Příklady
Pokud mylink.number1
obsahuje číslo 12 a mylink.number2
obsahuje číslo 34, pak jsou následující dvě funkce ekvivalentní a vrátí číslo 22:
ds.Abs(12-34)
ds.Abs(mylink.mynumber1-mylink.mynumber2)
Pokud mylink.number1
obsahuje číslo 34 a mylink.number2
obsahuje číslo 12, pak jsou následující dvě funkce ekvivalentní a vrátí číslo 22:
ds.Abs(34-12)
ds.Abs(mylink.mynumber1-mylink.mynumber2)
ARCCOS
Vypočte trigonometrický arkuskosinus výrazu. Výraz musí být číselná hodnota. Výsledek je vyjádřen v radiánech.
Syntaxe
ds.Acos(numeric_expression (dfloat))
returns: the resulting radian in dfloat format.
Příklady
Pokud mylink.number
obsahuje číslo 0.707106781, jsou následující dvě funkce ekvivalentní a vrátí hodnotu 0.7854:
ds.Acos(0.707106781)
ds.Acos(mylink.mynumber)
ARCCOS
Navrátí trigonometrický arkuskosinus výrazu. Vstupem musí být číselná hodnota. Výsledek je vyjádřen ve stupních.
Syntaxe
ds.ACOS(expression (float64))
returns: úhel ve stupních, ve formátu float64 .
Příklady
Následující kód vrací hodnotu 45:
ds.ACOS(0.707106781)
ARCSIN
Vypočte trigonometrický arkussinus výrazu. Výraz musí být číselná hodnota. Výsledek je vyjádřen v radiánech.
Syntaxe
ds.Asin(numeric_expression (dfloat))
returns: the radian result in dfloat format.
Příklady
Pokud mylink.number
obsahuje číslo 0.707106781, jsou následující dvě funkce ekvivalentní a vrátí hodnotu 0.7854:
ds.Asin(0.707106781)
ds.Asin(mylink.mynumber)
ARCSIN
Navrátí trigonometrický sinus výrazu. Vstup je úhel vyjádřený ve stupních.
Syntaxe
ds.ASIN(expression(float64))
returns: úhel ve stupních, ve formátu float64 .
Příklady
Následující kód vrací hodnotu 45:
ds.ASIN(0.707106781)
ARCTG
Vypočte trigonometrický oblouk-tangens výrazu. Výraz musí být číselná hodnota. Výsledek je vyjádřen v radiánech.
Syntaxe
ds.Atan(numeric_expression (dfloat))
returns: the radian result in dfloat format.
Příklady
Pokud mylink.number
obsahuje číslo 135, pak následující dvě funkce jsou ekvivalentní a vrátí hodnotu 1.5634, což je úhel, který má arkustangens 135:
ds.Atan(135)
ds.Atan(mylink.mynumber)
ARCTG
Navrátí trigonometrický oblouk-dotýkající se výrazu. Vstupem musí být číselná hodnota. Výsledek je vyjádřen ve stupních.
Syntaxe
ds.ATAN(expression(float64))
returns: úhel ve stupních, ve formátu dfloat.
Příklady
Následující kód vrací hodnotu 45:
ds.ATAN(1)
Atan2
Vypočte trigonometrický oblouk arkustangens dvou vstupů za použití signálů dvou vstupů k určení kvadrantu výsledku. Vstupy musí být číselné hodnoty. Výsledek je vyjádřen v radiánech.
Syntaxe
ds.Atan2(numeric_expression (dfloat, dfloat))
returns: the radian result in dfloat format.
Příklady
Pokud mylink.number1
obsahuje číslo 10.0 a mylink.number2
obsahuje číslo -10.0, pak následující dvě funkce jsou ekvivalentní a vrátí hodnotu 2.3562:
ds.Atan2(10.0, -10.0)
ds.Atan2(mylink.mynumber1, mylink.mynumber2)
Ceil
Vypočítá nejmenší celočíselnou hodnotu větší než nebo rovnou zadané desetinné hodnotě.
Syntaxe
ds.Ceil(number (dfloat))
vrátí: nejmenší celočíselnou hodnotu v souboru int32.
Příklady
Pokud mylink.number
obsahuje číslo 2355.66, pak jsou následující dvě funkce ekvivalentní a vrátí hodnotu 2356:
ds.Ceil(2355.66)
ds.Ceil(mylink.mynumber)
COS
Vypočte trigonometrický kosinus výrazu. Výraz musí být číselná hodnota. Výraz musí produkovat číselnou hodnotu, která je úhel v radiánech.
Syntaxe
ds.Cos(radians (dfloat))
returns: the angle in radians, of dfloat format.
Příklady
Pokud mylink.number
obsahuje číslo 0.785398, pak jsou následující dvě funkce ekvivalentní a vrátí hodnotu 0.7071:
ds.Cos(0.785398)
ds.Cos(mylink.mynumber)
sada COS
Navrátí trigonometrický kosinus úhlu. Výraz je úhel vyjádřený jako číselná hodnota ve stupních.
Syntaxe
ds.COS(expression(float64))
returns: úhel ve stupních, ve formátu float64 .
Příklady
Následující kód vrací hodnotu 0.7071:
ds.COS(45)
COSH
Vypočte hodnotu hyperbolického kosinu výrazu. Výraz musí být číselná hodnota.
Syntaxe
ds.Cosh(number (dfloat))
returns: výsledný kosinus ve formátu dfloat.
Příklady
Pokud mylink.number
obsahuje číslo 2, jsou následující dvě funkce ekvivalentní a vrátí hodnotu 3.7622:
ds.Cosh(2)
ds.Cosh(mylink.mynumber)
Div
Vypočte hodnotu hyperbolického kosinu výrazu. Výraz musí být číselná hodnota.
Syntaxe
ds.Div(dividend (dfloat), divisor (dfloat))
returns: výsledný kosinus ve formátu dfloat.
Příklady
Pokud mylink.dividend
obsahuje číslo 100 a mylink.divisor
obsahuje číslo 25, pak následující dvě funkce jsou ekvivalentní a vrátí hodnotu 4:
ds.Div(100,25)
ds.Div(mylink.dividend, mylink.divisor)
EXP
Vypočítá výsledek základu e umocn na mocnu určenou hodnotou výrazu. Hodnota e je přibližně 2.71828. Výraz se musí vyhodnotit na číselnou hodnotu.
Syntaxe
ds.Exp(number (dfloat))
Vrací: výslednou hodnotu e umocenou na určenou hodnotu ve formátu dfloat.
Příklady
Pokud mylink.number
obsahuje číslo 5, jsou následující dvě funkce ekvivalentní a vrátí hodnotu 54.5982:
ds.Exp(5-1)
ds.Exp(mylink.number-1)
Fabs
Vypočítá absolutní hodnotu dané hodnoty typu float.
Syntaxe
ds.Fabs(number (dfloat))
Vrací: absolutní hodnotu čísla typu float.
Příklady
Pokud mylink.number
obsahuje číslo -26.53, pak následující dvě funkce jsou ekvivalentní a vrací hodnotu 26.53:
ds.Fabs(-26.53)
ds.Fabs(mylink.number)
ZAOKR.DOLŮ
Vypočítá největší celočíselnou hodnotu menší nebo rovnou zadané dekadické hodnotě.
Syntaxe
ds.Floor(number (dfloat))
vrací: největší celé číslo menší než nebo rovno desetinné hodnotě ve formátu int32 .
Příklady
Pokud mylink.number
obsahuje číslo 203.25, pak následující dvě funkce jsou ekvivalentní a vrátí hodnotu 203:
ds.Floor(203.25)
ds.Floor(mylink.number)
Ldexp
Vrací hodnotu dfloat od násobení mantisy o 2 umocněná na mocninu exponentu.
Syntaxe
ds.Ldexp(mantissa (dfloat), exponent (int32))
returns: the resulting mantissa in dfloat format.
Příklady
Pokud mylink.mantissa
obsahuje číslo 2 a mylink.exponent
obsahuje číslo 3, pak následující dvě funkce jsou ekvivalentní a vrací hodnotu 16:
ds.Ldexp(2,3)
ds.Ldexp(mylink.mantissa, mylink.exponent)
Ploštiny
Vypočítá absolutní hodnotu dané celočíselné hodnoty.
Syntaxe
ds.Llabs(number (integer))
returns: absolutní hodnota daného celého čísla jako celé číslo bez znaménka.
Příklady
Pokud mylink.number
obsahuje číslo -26, pak následující dvě funkce jsou ekvivalentní a vrátí hodnotu 26.
ds.Llabs(-26)
ds.Llabs(mylink.number)
LN
Vypočte přirozený logaritmus výrazu v základu e. Hodnota e je přibližně 2.71828. Výraz se musí vyhodnotit na číselnou hodnotu větší než 0.
Syntaxe
ds.Ln(number (dfloat))
vrátí: výsledný logaritmus výrazu založeného na e .
Příklady
Pokud mylink.number
obsahuje číslo 6, pak následující dvě funkce jsou ekvivalentní a vrací hodnotu 1.7918:
ds.Ln(6)
ds.Ln(mylink.number)
Log10
Vrátí logaritmus dané hodnoty v základu 10.
Syntaxe
ds.Log10(number (dfloat))
vrátí: výsledný logaritmus o základu 10 ve formátu dfloat.
Příklady
Obsahuje-li mylink.number
číslo 6, jsou následující dvě funkce ekvivalentní a vrací hodnotu 1.7782:
ds.Log10(6)
ds.Log10(mylink.number)
Maximální
Vrátí větší ze dvou hodnot argumentu.
Syntaxe
ds.Max(number1 (int32), number2(int32))
vrátí: větší ze dvou celých čísel ve formátu int32 .
Příklady
Pokud mylink.number1
obsahuje číslo 6 a mylink.number1
obsahuje číslo 101, pak následující dvě funkce jsou ekvivalentní a vrací hodnotu 101:
ds.Max(6,101)
ds.Max(mylink.number1, mylink.number2)
Min.
Vrátí dolní ze dvou hodnot argumentu.
Syntaxe
ds.Min(number1 (int32), number2(int32))
vrátí: menší ze dvou celých čísel.
Příklady
Pokud mylink.number1
obsahuje číslo 6 a mylink.number1
obsahuje číslo 101, pak následující dvě funkce jsou ekvivalentní a vrátí hodnotu 6:
ds.Min(6,101)
ds.Min(mylink.number1, mylink.number2)
MOD
Vypočte modulo (zbytek) dvou výrazů (dividendy, dělitel).
Syntaxe
ds.Mod(dividend (int32), divisor (int32))
vrací: výsledný modulo ve formátu int32 .
Příklady
Pokud mylink.dividend
obsahuje číslo 115 a mylink.divisor
obsahuje číslo 25, pak následující dvě funkce jsou ekvivalentní a vrátí hodnotu 15:
ds.Mod(115,25)
ds.Mod(mylink.dividend, mylink.divisor)
Neg
Neguje číslo.
Syntaxe
ds.Neg(number (dfloat))
vrátí: výsledné negované číslo ve formátu dfloat.
Příklady
Obsahuje-li mylink.number
číslo 123, jsou následující dvě funkce ekvivalentní a vrátí hodnotu -123:
ds.Neg(123)
ds.Neg(mylink.number)
Pwstar.
Vypočítá hodnotu výrazu při jeho umocní na zadanou mocnnost (výraz, napájení).
Syntaxe
ds.Pwr(expression (dfloat), power (dfloat))
vrátí: výsledné číslo umocené na zadanou hodnotu ve formátu dfloat.
Příklady
Obsahuje-li mylink.expression
číslo 2 a proměnná mylink.power obsahuje číslo 3, jsou následující dvě funkce ekvivalentní a vrací hodnotu 8:
ds.Pwr(2,3)
ds.Pwr(mylink.expression, mylink.power)
NÁHČÍSLO
Vrací pseudorandom integer mezi 0 a 232-1.
Syntaxe
ds.Rand()
vrátí: výsledné náhodné celé číslo ve formátu uint32 .
Příklady
Použijte tuto funkci ke generování pseudorandm číslo:
ds.Rand()
Náhodně
Vrací pseudorandom integer mezi 0 a 232-1.
Syntaxe
ds.Random()
vrátí: výsledné náhodné celé číslo ve formátu uint32 .
Příklady
Použijte tuto funkci ke generování náhodného čísla:
ds.Random()
Rnd
Generuje jakékoli kladné nebo záporné náhodné celé číslo nebo 0. Vezme celkový počet celých čísel jako vstup, včetně 0, ze kterého lze vybrat náhodné číslo. To znamená, že pokud n je hodnota výrazu_typu_číslo, je náhodné číslo generováno z čísel 0 až (n-1).
Syntaxe
ds.Rnd(numeric_expression (int))
returns: náhodné číslo od 0 do (numeric_expression - 1)
ve formátu int.
Příklady
Následující kód vrátí náhodné číslo z intervalu 0-19.
ds.Rnd(20)
SIN
Vypočte trigonometrický sine výrazu. Výraz musí být číselná hodnota. Výraz musí produkovat číselnou hodnotu, která je úhel v radiánech.
Syntaxe
ds.Sin(radians (dfloat))
vrátí: výsledný úhel ve formátu dfloat.
Příklady
Pokud mylink.number
obsahuje číslo 0.785398, pak jsou následující dvě funkce ekvivalentní a vrátí hodnotu 0.7071:
ds.Sin(0.785398)
ds.Sin(mylink.mynumber)
SIN
Navrátí trigonometrický sinus výrazu. Vstup je úhel vyjádřený ve stupních.
Syntaxe
ds.SIN(expression(float64))
returns: úhel ve stupních, ve formátu dfloat.
Příklady
Následující kód vrací hodnotu 0.7071:
ds.SIN(45)
SINH
Vypočte hyperbolický arkussinus výrazu. Výraz musí být číselná hodnota.
Syntaxe
ds.Sinh(number (dfloat))
Vrací: výsledný sinus ve formátu dfloat.
Příklady
Pokud mylink.number
obsahuje číslo 2, jsou následující dvě funkce ekvivalentní a vrátí hodnotu 3.6269:
ds.Sinh(2)
ds.Sinh(mylink.mynumber)
ODMOCNINA
Vypočte druhou odmocninu čísla.
Syntaxe
ds.Sqrt(number (dfloat))
returns: výsledná druhá odmocnina z čísla ve formátu dfloat.
Příklady
Pokud mylink.number
obsahuje číslo 450, pak jsou následující dvě funkce ekvivalentní a vrátí hodnotu 21.2132:
ds.Sqrt(450)
ds.Sqrt(mylink.mynumber)
Šedobéžová
Vypočte trigonometrický arkustangens výrazu. Výraz musí produkovat číselnou hodnotu, která je úhel v radiánech.
Syntaxe
ds.Tan(radians (dfloat))
vrátí: výsledný tangens ve formátu dfloat.
Příklady
Pokud mylink.number
obsahuje číslo 0.7853981, pak následující dvě funkce jsou ekvivalentní a vrátí hodnotu 1:
ds.Tan(0.7853981)
ds.Tan(mylink.mynumber)
TGTG
Vrátí funkci TAN, která vrátí trigonometrický arkustangens vstupu. Vstup představuje úhel vyjádřený ve stupních.
Syntaxe
ds.TAN(expression(float64))
returns: úhel ve stupních, ve formátu float64 .
Příklady
Následující kód vrací hodnotu 1:
ds.TAN(45)
ARCTG
Navrátí trigonometrický oblouk-dotýkající se výrazu. Vstupem musí být číselná hodnota. Výsledek je vyjádřen ve stupních.
Syntaxe
ds.ATAN(expression(float64))
returns: úhel ve stupních, ve formátu float64 .
Příklady
Následující kód vrací hodnotu 45:
ds.ATAN(1)
TGH
Vypočte hyperbolický tangens výrazu. Výraz musí být číselná hodnota.
Syntaxe
ds.Tanh(number (dfloat))
vrátí: výsledný tangens ve formátu dfloat.
Příklady
Pokud mylink.number
obsahuje číslo 2, jsou následující dvě funkce ekvivalentní a vrací hodnotu 0.964028:
ds.Tanh(2)
ds.Tanh(mylink.mynumber)
Číselné funkce
Použijte číselné funkce k extrakci mantisy z desetinné nebo plovoucí desetinné čárky. Kategorie Číslo v editoru výrazů také obsahuje funkce přetypování typu, které můžete použít k přetypování čísel ve formě dvojitého, plovoucího nebo celočíselného datového typu.
Funkce transformátoru AsDouble()
, AsFloat()
a AsInteger()
se chovají odlišně než jiné funkce převodů dat transformátoru, když se používají v derivacích, kde výsledek je řetězec. Důvodem je to, že kompilátor transformátoru nekonvertuje výsledek funkce pro tyto funkce na řetězec.
AsDouble
Zacházet s daným číslem jako s dvojitým.
Syntaxe
ds.AsDouble(number (int, float etc.))
vrátí: číslo ve dvojitém formátu.
Příklady
V následujícím výrazu vstupní mynumber
obsahuje celé číslo, ale výstupem funkce je hodnota typu double. Pokud mylink.mynumber
obsahuje hodnotu 56, pak jsou následující dvě funkce ekvivalentní a vrátí hodnotu 12.963:
ds.AsDouble(56/4.32)
ds.AsDouble(mylink.mynumber/4.32)
AsFloat
Zacházet s daným číslem jako s plovoucí desetinnou čárkou.
Syntaxe
ds.AsFloat(number (int, double etc.))
vrátí: číslo ve formátu float.
Příklady
V následujícím výrazu obsahuje vstup mynumber
celé číslo, ale výstupem funkce je hodnota typu float. Pokud mylink.mynumber
obsahuje hodnotu 56, pak jsou následující dvě funkce ekvivalentní a vrátí hodnotu 12.963:
ds.AsFloat(56/4.32)
ds.AsFloat(mylink.mynumber/4.32)
AsInteger
Považujte dané číslo za celočíselnou hodnotu. Ale existuje rozdíl v chování, když je desetinné číslo přiřazeno k celé celé číslo oproti hodnotě typu float nebo double přiřazenému k celočíselnému číslu. Je-li převod z typu float nebo dvojitého na celé číslo, je to jednoduché přiřazení na celé číslo. V případě desetinné části AsInteger()
je vyvolána funkce a zaokrouhlí výstup směrem k nejbližší hodnotě.
Syntaxe
ds.AsInteger(number (float, double etc.))
vrátí: číslo ve formátu celého čísla.
Příklady
V následujícím výrazu má vstupní hodnota 12.962963 typ Double. Ačkoli hodnota je typu Double, funkce má výstup celé číslo. Proto se jedná o jednoduché přiřazení k celočíselným hodnotám a funkce vrací hodnotu 12:
ds.AsInteger(12.962963)
V následujícím výrazu jsou výpočty jako (56/4.32) považovány za typ Decimal a volání funkce AsInteger()
bude zaokrouhlit směrem k nejbližší hodnotě a vrátí hodnotu 13:
ds.AsInteger(56/4.32)
Opravit
Převede číselnou hodnotu na číslo s pohyblivou řádovou čárkou s určeným číslem přesnosti. Pokud se číslo vyhodnotí na hodnotu null, hodnota null se vrátí. Hodnota přesnosti je číselná hodnota, která odpovídá počtu desetinných míst přesnosti v čísle s pohyblivou řádovou čárkou. Výchozí přesnost je 4. Hodnota režimu je příznak, který uvádí, jak se zachází s přebytečnými číslicemi. Je-li režim buď 0, nebo není zadán, přebytečné číslice se zaokrouhlí. Pokud je v režimu cokoli jiného než 0, přebytečné číslice se oseknou.
Syntaxe
ds.FIX(numeric_expression (string), precision (int8), mode (int32))
vrátí: převedený počet formátu dfloat.
Příklady
Následující kód vrací číslo 37.7363.
ds.FIX("37.73629273")
MantissaFromDesetinné číslo
Vrátí mantisu z daného desetinného čísla.
Syntaxe
ds.MantissaFromDecimal(number (decimal))
vrátí: mantissa ve formátu dfloat.
Příklady
Pokud mylink.number obsahuje číslo 243.7675, pak jsou následující dvě funkce ekvivalentní a vrátí hodnotu 7675:
ds.MantissaFromDecimal(243.7675)
ds.MantissaFromDecimal(mylink.mynumber)
MantissaFromDFloat
Vrací mantisu z daného dfloat.
Syntaxe
ds.MantissaFromDFloat(number (dfloat))
vrátí: mantissa ve formátu dfloat.
Příklady
Pokud mylink.number
obsahuje číslo 1.234412000000000010E+4, pak následující funkce vrátí hodnotu 1:
ds.MantissaFromDFloat(mylink.mynumber)
Fyzické
Převede číselnou hodnotu v řetězci na typ s pohyblivou řádovou čárkou bez ztráty přesnosti.
Syntaxe
ds.Real(numeric_expression (string))
vrátí: převedený počet formátu dfloat.
Příklady
Následující kód vrátí číslo 1.23.
ds.Real("1.23")
Prvotní funkce
Funkci Raw použijte k získání délky dat ve sloupci obsahujícím nezpracovaná data.
RawLength
Vrátí délku řetězce, který je prvotním řetězcem.
Syntaxe
ds.RawLength(input string (string))
returns: délka prvotního řetězce ve formátu int32 .
Příklady
Pokud mylink.rawdata
obsahuje prvotní data z bitové mapy, pak následující funkce vrací velikost bitové mapy v bajtech:
ds.RawLength(mylink.rawdata)
Řetězcové funkce
Tyto funkce se používají pro funkce související s řetězci ve výrazu.
AlNum
Kontroluje, zda daný řetězec obsahuje pouze alfanumerické znaky.
Syntaxe
ds.AlNum(string (string))
vrací: výsledek typu int8 , 1, je-li vstup platný pro daný typ, jinak 0.
Příklad
Pokud mylink.mystring1
obsahuje řetězec "OED_75_9*E", pak by následující funkce vrátila hodnotu 0 (false).
ds.AlNum(mylink.mystring1)
Pokud mylink.mystring2
obsahuje řetězec "12redroses", pak by následující funkce vrátila hodnotu 1 (true).
ds.AlNum(mylink.mystring2)
Alfa
Kontroluje, zda daný řetězec obsahuje pouze abecední znaky.
Syntaxe
ds.Alpha(string (string))
vrací: výsledek typu int8 , 1, je-li vstup platný pro daný typ, jinak 0.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "12redroses", pak by následující funkce vrátila hodnotu 0 (false).
ds.Alpha(mylink.mystring1)
Pokud mylink.mystring2
obsahuje řetězec "twelveredros", pak následující funkce vrátí hodnotu 1 (true).
ds.Alpha(mylink.mystring2)
Kočky
Zřetězí dva řetězce.
Syntaxe
ds.Cats(str1 (string), str2 (string))
Vrací: výsledný zřetězený řetězec.
Příklady
Následující kód vrátí hodnotu "ABC123".
ds.Cats("ABC", "123")
Změna
Nahradí daný podřetězec ve výrazu nahrazujícím řetězcem.
Je-li argumentem substring prázdný řetězec, vrátí se hodnota argumentu výrazu.
Je-li hodnotou náhradního argumentu prázdný řetězec, budou odebrány všechny výskyty podřetězce začínajícího od pozice indikované hodnotou počátečního argumentu. Je-li hodnota argumentu výskytů menší nebo rovna 0, budou nahrazeny všechny výskyty začínající od pozice označené hodnotou začátku argumentu. Jinak je počet nahrazených výskytů označen hodnotou argumentu výskytu, počínaje pozicí označeným hodnotou začátku argumentu. Je-li hodnota začátku argumentu menší nebo rovna 1, nahradí se náhrada od prvního výskytu. Otherwise, the replacement starts from the position indicated by the value of thebegin argument.
Syntaxe
ds.Change(expression (string), substring (string), replacement (string), [occurrence (int32), [begin (int32)]])
returns: nový řetězec se všemi nahrazenými podřetězci.
Příklady
Pokud mylink.mystring
obsahuje výraz "aaabbbcccbbb", pak následující funkce vrací řetězec "aaaZZZcccZZZ".
ds.Change(mylink.mystring,"bbb","ZZZ")
Pokud mylink.mystring
obsahuje výraz "ABC" a podřetězec je prázdný, pak následující funkce vrací řetězec "ABC".
ds.Change(mylink.mystring,"","ZZZ")
Pokud mylink.mystring
obsahuje výraz "aaabbbcccbbb" a náhrada je prázdná, pak následující funkce vrací řetězec "aaaccc".
ds.Change(mylink.mystring, "bbb", "")
CompactWhiteProstor
Vrátí řetězec poté, co se sníží všechny po sobě jdoucí prázdné znaky na jeden prostor.
Syntaxe
ds.CompactWhiteSpace(string (string))
returns: výsledný řetězec se zmenšenými bílými znaky.
Příklady
Pokud mylink.mystring
obsahuje řetězec "příliš mnoho mezer", pak následující funkce vrací řetězec "příliš mnoho mezer":
ds.CompactWhiteSpace(mylink.mystring)
Porovnat
Porovná dva řetězce pro řazení. Porovnání může být zarovnáno doleva (výchozí) nebo zprava zarovnané. Porovnávání s pravou zarovnáním porovnává číselné podřetězce v rámci uvedených řetězců jako čísla.
Numerické řetězce se musí vyskytnout na stejné pozici znaku v každém řetězci. Například nakloněné porovnání řetězců AB100 a AB99 označuje, že hodnota AB100 je větší než AB99 , protože 100 je větší než 99. Porovnáním porovnání řetězců AC99 a AB100 je uvedeno, že hodnota AC99 je větší než hodnota B.
Syntaxe
ds.Compare(string1 (string), string2 (string), [justification ("L" or "R")] )
vrací: výsledek typu int8 , -1, je-li string1 menší než string2, 0, pokud jsou oba řetězce stejné, 1, je-li string1 větší než string2.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "AB99" a mylink.mystring2 obsahuje řetězec "AB100", pak následující funkce vrátí výsledek 1.
ds.Compare(mylink.mystring1, mylink.mystring2, "L")
Pokud mylink.mystring1
obsahuje řetězec "AB99" a mylink.mystring2 obsahuje řetězec "AB100", pak následující funkce vrátí výsledek -1.
ds.Compare(mylink.mystring1, mylink.mystring2, "R")
CompareNoCase
Porovná dva řetězce pro řazení a ignoruje jejich případy.
Syntaxe
ds.CompareNoCase(string1 (string), string2 (string))
vrací: výsledek typu int8 , -1, je-li string1 menší než string2, 0, pokud jsou oba řetězce stejné, a 1, je-li string1 větší než string2.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "Chocolate Cake" a mylink.mystring2
obsahuje řetězec "čokoládový koláč", pak následující funkce vrací výsledek 0.
ds.CompareNoCase(mylink.mystring1, mylink.mystring2)
CompareNum
Porovnává prvních n znaků ze dvou řetězců, n je určeno uživatelem.
Syntaxe
ds.CompareNum(string1 (string), string2 (string), length (int16))
vrací: výsledek typu int8 , -1, je-li string1 menší než string2, 0, pokud jsou oba řetězce stejné, 1, je-li string1 větší než string2.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "Chocolate" a mylink.mystring2
obsahuje řetězec "Choccy Treat", pak následující funkce vrátí výsledek 0.
ds.CompareNum(mylink.mystring1, mylink.mystring2,4)
CompareNumNoCase
Porovnává prvních n znaků dvou řetězců, přičemž jejich velikost bude ignorována, n je zadán uživatelem.
Syntaxe
ds.CompareNumNoCase(string1 (string), string2 (string), length (int16))
vrací: výsledek typu int8 , -1, je-li string1 menší než string2, 0, pokud jsou oba řetězce stejné, 1, je-li string1 větší než string2.
Příklady
Pokud mylink.myraw
obsahuje řetězec "čokoláda" a mylink.mystring2
obsahuje řetězec "Choccy Treat", pak následující funkce vrátí výsledek 0.
ds.CompareNumNoCase(mylink.mystring1, mylink.mystring2,4)
Převodní
Převádí řetězec na určený interní nebo externí formát úložiště. Řetězcový výraz vyhodnocuje řetězec, který má být převeden.
Následující tabulka zobrazuje hodnoty, které můžete zadat pro převod. Parametr conv_code
určuje typy paměťových formátů, které se podílejí na převodu, a conv_mode
uvádí, který formát se použije pro vstup nebo výstup. Uvedete-li "I" pro conv_mode
, použije se pro převod funkce ICONV()
. Uvedete-li "O" pro conv_mode
, použije se pro převod funkce OCONV()
.
Tabulka pro hodnoty převodu
conv_code |
conv_mode |
Popis |
---|---|---|
MX | I | Převádí vstupní řetězec z hexadecimálního formátu na desítková čísla. |
MB | I | Převede vstupní řetězec z binárního na dekadický formát. |
MX0C | I | Převádí vstupní řetězec z hexadecimálního formátu na znakový řetězec ASCII. |
MB0C | I | Převede vstupní řetězec z binárního řetězce na znakový řetězec ASCII. |
MX | O | Převede vstupní řetězec z dekadického na hexadecimální. |
MB | O | Převede vstupní řetězec z dekadického na binární. |
MX0C | O | Převádí vstupní řetězec ze znakového řetězce ASCII na hexadecimální. |
MB0C | O | Převádí vstupní řetězec z řetězcového řetězce ASCII na binární. |
Syntaxe
ds.Conversion(string (string), conv_code (string), conv_mode (string))
vrátí: převedený řetězec.
Příklady
Pokud mylink.mystring
obsahuje řetězec "1111", pak následující funkce vrací hodnotu 15.
ds.Conversion(mylink.mystring,"MB", "I")
Pokud mylink.mystring
obsahuje řetězec "CDE", pak následující funkce vrací hodnotu 434445.
ds.Conversion(mylink.mystring,"MX0C", "O")
Převést
Převede znaky v řetězci, který je určen v daném výrazu. Převádí znaky uvedené v jednom seznamu na znaky zadané v jiném seznamu.
Syntaxe
ds.Convert(fromlist (string), tolist (string), expression (string))
Vrací: řetězec s převedenými označenými znaky.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "NOW JE TIME", pak následující funkce vrací řetězec "NOW YS XHE XYME".
ds.Convert("TI","XY", mylink.mystring1)
Počet
Zjistí, kolikrát se v řetězci vyskytuje podřetězec.
Syntaxe
ds.Count(string (string), substring (string))
returns: počet výskytů podřetězce ve formátu int32 .
Příklady
Pokud mylink.mystring1
obsahuje řetězec "čokoládové kapky, čokoládová zmrzlina, čokoládové tyčinky", pak následující funkce vrací 3.
ds.Count(mylink.mystring1, "choc")
DPOČET
Vrátí počet polí s oddělovači v řetězci.
Syntaxe
ds.Dcount(string (string), delimiter (string))
Vrací: počet polí s oddělovači ve formátu int32 .
Příklady
Pokud mylink.mystring1
obsahuje řetězec "čokoládové kapky, čokoládová zmrzlina, čokoládové tyčinky", pak následující funkce vrací 3.
ds.Dcount(mylink.mystring1,",")
DownCase
Změní všechna velká písmena v řetězci na malá písmena.
Syntaxe
ds.DownCase(string (string))
returns: výsledný řetězec ve všech malých případech.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "CaMel cAsE", pak následující funkce vrací řetězec "camel case".
ds.DownCase(mylink.mystring1)
Uvozovky
Uzavře řetězec do dvojitých uvozovek.
Syntaxe
ds.DQuote(string (string))
vrátí: výsledný řetězec uzavřený do dvojitých uvozovek.
Příklady
Pokud mylink.mystring1
obsahuje řetězec potřebuje uvozovky, pak následující funkce vrátí řetězec "potřebuje uvozovky".
ds.DQuote(mylink.mystring1)
Vyměnit
Nahradí podřetězec ve výrazu nahrazujícím řetězcem.
Je-li argument substring prázdný řetězec, hodnota argumentu náhrady je uvedena jako předpona s hodnotou argumentu výrazu. Je-li argumentem nahrazení prázdný řetězec, budou odebrány všechny výskyty podřetězce od pozice určené hodnotou počátečního argumentu. Je-li hodnota argumentu výskytů menší nebo rovna 0, budou nahrazeny všechny výskyty začínající od hodnoty začátku argumentu. Jinak je počet výskytů, které jsou nahrazeny, označen hodnotou argumentu výskytu, počínaje pozicí, které označuje hodnota začátku argumentu. Je-li hodnota začátku argumentu menší nebo rovna 1, nahradí se náhrada od prvního výskytu. Jinak se náhrada spustí z pozice označené hodnotou začátku argumentu.
Syntaxe
ds.Ereplace(expression (string), substring (string), replacement (string), [occurrence (int32), [begin (int32)]])
returns: výsledný řetězec se všemi výskyty nahrazeného podřetězce.
Příklady
Pokud mylink.mystring
obsahuje výraz "ABC" a podřetězec je prázdný, následující funkce vrátí hodnotu "ZZZABC".
ds.Ereplace(mylink.mystring,"","ZZZ")
Pokud mylink.mystring
obsahuje výraz "aaabbbcccbbb" a náhrada je prázdná, vrací následující funkce hodnotu "aaaccc".
ds.Ereplace(mylink.mystring, "bbb", "")
Výměna
Nahradí znak v řetězci.
Syntaxe
ds.Exchange(str (string), findStr (string), replaceStr (string))
vrátí: výsledný řetězec s nahrazenými znaky.
Příklady
Následující kód vrátí: ".B.BC".
ds.Exchange("ABABC", "41", "2E")
EXTRACT
Poskytuje přístup k obsahu dat zadaného pole, hodnoty nebo dílčí hodnoty z dynamického pole. Pracuje podobně jako ODEBRAT.
Vstupní dynamické pole musí mít pouze CHAR (254), CHAR (253), CHAR (252) jako oddělovači a jejich hierarchii jako předepsáno. Respektive mohou být načteny funkcemi AM nebo FM, VM, SM nebo SVM. FM je oddělovač do polí řetězce, VM je oddělovač hodnot řetězců a SM je oddělovač podhodnot řetězce.
Chcete-li se dozvědět více o produktu EXTRACT
, prohlédněte si funkci EXTRACT.
Syntaxe
ds.EXTRACT(str (string), field (int64), [value (int64), subvalue (int64)])
vrátí: výsledný extrahovaný řetězec řetězce formátu.
Příklady
Následující kód vrací: "9ü3ü5". Dynamické pole obsahuje 3 pole oddělená FM/AM, 2 hodnoty v prvním poli, 1 podhodnota v první hodnotě, atd.
ds.EXTRACT("1" + ds.FM() + "4" + ds.VM() + "9" + ds.SM() + "3" + ds.SM() + "5" + ds.FM() + "1" + ds.VM() + "0" + ds.SM() + "7" + ds.SM() + "3", 2, 2)
ds.EXTRACT("1" + ds.AM() + "4" + ds.VM() + "9" + ds.SM() + "3" + ds.SM() + "5" + ds.AM() + "1" + ds.VM() + "0" + ds.SM() + "7" + ds.SM() + "3", 2, 2)
Následující kód vrací prázdný řetězec, protože existují pouze 3 pole a ne 10 nebo více.
ds.EXTRACT("1" + ds.FM() + "4" + ds.VM() + "9" + ds.SM() + "3" + ds.SM() + "5" + ds.FM() + "1" + ds.VM() + "0" + ds.SM() + "7" + ds.SM() + "3", 10, 0, 0)
Pole
Vrací jeden nebo více podřetězců, které jsou umístěny mezi zadanými oddělovači v řetězci. Výskyt argumentu určuje, který výskyt oddělovače má být použit jako koncový znak. Číslo argumentu volitelně určuje, kolik podřetězců se má vrátit.
Syntaxe
ds.Field(string (string), delimiter (string), occurrence (int32), [number (int32)])
vrátí: odpovídající řetězec mezi oddělovači.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "čokoládové kapky, čokoládová zmrzlina, čokoládové tyčinky, čokoládové dippers", pak následující funkce vrací řetězec " čokoládová zmrzlina ".
ds.Field(mylink.mystring1,",",2)
Pokud mylink.mystring1
obsahuje řetězec "čokoládové kapky, čokoládová zmrzlina, čokoládové tyčinky, čokoládové dippers", pak následující funkce vrací řetězec " čokoládové zmrzliny, čokoládové tyčinky ".
ds.Field(mylink.mystring1,",",2,2)
FieldStore
Upraví znakové řetězce vložením, odstraněním nebo nahrazením polí oddělených určeným řetězcem oddělovače. Řetězec oddělovačů označuje řetězec, který má být upraven, a může být libovolný jednotlivý znak ASCII. Také provede parametry start
, což je pozice vstupního řetězce, kde začíná modifikace, a number
, což je počet, kolikrát se nový řetězec vloží do vstupního řetězce.
Syntaxe
ds.FieldStore(str (string), delimiter (string), start (int8), number (int8), new_fields (string))
vrátí: upravený řetězec řetězce formátu.
Příklady
Následující kód vrací řetězec A#B#C#D#5:
ds.FieldStore("1#2#3#4#5", "#", 1, 4, "A#B#C#D")
Fmt
Používá funkci FMT nebo formát výrazu pro formátování dat pro výstup. Jakýkoli výraz BASIC může být formátován pro výstup s použitím výrazu formátu. Podrobnosti o syntaxi funkce Fmt viz Funkce FMT.
Syntaxe
ds.Fmt(string (string), format (string))
vrátí: výsledná formátovaná data řetězce formátu.
Příklady
Následující kód vrací řetězec "23-69-86":
ds.Fmt("236986","R##-##-##")
Následující kód vrací číslo "***** $555,666,898.00":
ds.Fmt("555666898","20*R2$,")
FmtDP
Převádí vícebajtové znakové sady typu String do cílového formátu. Není-li povolena podpora národního jazyka (NLS), funkce FmtDP funguje jako ekvivalentní funkce Fmt. Podrobnosti o syntaxi funkce FmtDP viz FmtDP.
Syntaxe
ds.FmtDP(string (string), format (string), [mapname (string)])
Vrací: konvertovaný řetězec formátu řetězce.
Příklady
Následující kód vrací číslo 56789:
ds.FmtDP("123456789","R#5")
Přestati
Skládací řetězce pro vytváření podřetězců. řetězec je řetězec, který se má složit. délka je délka podřetězců ve znacích.
ds.Fold(str (string), length (int8))
Vrací: výsledný složený řetězec.
Následující kód vrací "THISþIS AþTESTþFOLUþD STRþING".
ds.Fold("THIS IS A TEST FOLDED STRING", 5)
Folddp
V režimu podpory národních jazyků (NLS) se za řetězce vytvářejí podřetězce za použití znakových pozic.
Syntaxe
ds.Folddp(str (string), length (int), opmap (string))
Vrací: výsledný složený řetězec.
Příklady
Následující kód se vrací: "", ",", ",", ",", ",", ",", ",
ds.Folddp("这里需要 UNICODE STRING", 5, "0")
Rejstřík
Vyhledá počáteční pozici znaku podřetězce. Výskyt argumentu určuje, který výskyt podřetězce má být umístěn.
Syntaxe
ds.Index(string (string), substring (string), occurrence (int32))
Vrací: výsledek ve formátu int32 počtu výskytů.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "čokoládové kapky, čokoládové zmrzliny, čokoládové tyčinky, čokoládové dippers", pak následující funkce vrací hodnotu 18.
ds.Index(mylink.mystring1,"chocolate",2)
Vlevo
Vrátí nejvíce vlevo n znaků řetězce.
Syntaxe
ds.Left(string (string) number (int32))
returns: nejvíce vlevo n znaků řetězce.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "čokoládové kapky, čokoládová zmrzlina, čokoládové tyčinky, čokoládové dippers", pak následující funkce vrací řetězec "čokoláda".
ds.Left(mylink.mystring1,9)
DÉLKA
Vrátí délku řetězce ve znacích.
Syntaxe
ds.Len(string (string))
returns: délka řetězce ve formátu int32 .
Příklady
Pokud mylink.mystring1
obsahuje řetězec "čokoláda", pak následující funkce vrací hodnotu 9.
ds.Len(mylink.mystring1)
Lendp
V režimu NLS (National Language Support) vrací délku řetězce s jeho celkovým zobrazovacím pozicí.
Syntaxe
ds.Lendp(str (string), opmap (string))
returns: délka řetězce ve formátu int64.
Příklady
Následující kód vrátí hodnotu: 19.
ds.Lendp("这里需要 UNICODE STRING", "0")
Shoda
Synonymní pro MATCHES. Používá se k porovnání řetězcového výrazu se vzorem. Chcete-li se dozvědět více o syntaxi Match
, prohlédněte si Operátor shody.
Syntaxe
ds.Match(str (string), pattern (string))
returns: výsledek, zda vzorek odpovídá vstupnímu řetězci, formátu boolean.
Příklady
Následující kód vrátí hodnotu false:
ds.Match("XYZ123AB", "3X3N")
Následující kód vrací hodnotu true:
ds.Match("XYZ123AB", "3X3N...")
MatchField
Prohledává řetězec a vrací jeho část, která odpovídá vstupnímu parametru pattern
. Další informace o syntaxi MatchField
naleznete v části Operátor MATCH.
Syntaxe
ds.MatchField(str (string), pattern (string), field (int))
vrátí: výsledek formátovacího řetězce.
Příklady
Následující kód vrací řetězec "XYZ":
ds.MatchField("XYZ123AB", "3X3N...", 1)
Číslo
Vrátí hodnotu 1, je-li řetězec možné převést na číslo, jinak vrátí hodnotu 0.
Syntaxe
ds.Num(string (string))
vrátí hodnotu: 1, pokud lze řetězec převést na číslo, nebo vrátí hodnotu 0 jinak, ve formátu int32 .
Příklady
Pokud mylink.mystring1
obsahuje řetězec "22", pak následující funkce vrací hodnotu 1.
ds.Num(mylink.mystring1)
Pokud mylink.mystring1
obsahuje řetězec "dvacet dva", pak následující funkce vrací hodnotu 0.
ds.Num(mylink.mystring1)
PadString
Vrátí řetězec doplněný o uvedený počet znaků výplně.
Syntaxe
ds.PadString(string (string) padstring (string) padlength (int32))
vrátí: výsledný vyplněný řetězec.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "AB175", vrací následující funkce řetězec "AB17500000".
ds.PadString(mylink.mystring1,"0",5)
Odebrat
Extrahuje a vrací prvky dynamického pole, které jsou odděleny oddělovači systému, a označují, který systémový oddělovač byl nalezen. Přijímá jeden typ CHAR jako oddělovač a vrací odpovídající číslo určující, který oddělovač se nachází.
Číslo | Typ oddělovače |
---|---|
0 | Konec řetězce |
1 | Značka položky ASCII CHAR (255) |
2 | Hodnota pole ASCII CHAR (254) |
3 | Hodnota ASCII CHAR (253) |
4 | Značka podhodnota ASCII CHAR (252) |
5 | Text *CHAR ASCII CHAR (251) |
6 | ASCII CHAR (250) (není k dispozici v příchuti PIOPEN) |
7 | ASCII CHAR (249) (Není k dispozici v příchuti PIOPEN) |
8 | ASCII CHAR (248) (Není k dispozici v příchuti PIOPEN) |
Další informace o funkci REMOVE naleznete v tématu Funkce REMOVE.
Syntaxe
ds.REMOVE(str (string))
vrátí: výsledný řetězec s oddělovači odebraných z řetězcového seznamu formátu a číslem, které odpovídá nalezeného oddělovače.
Příklady
Následující kód vrátí hodnotu [ "3", "12"].
ds.REMOVE("12" + ds.VM() + "12" + ds.VM())
Vpravo
Vrátí nejvíce vpravo n znaků řetězce.
Syntaxe
ds.Right(string (string) number (int32))
vrací: nejvíce vpravo n znaků řetězce.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "čokoládové kapky, čokoládová zmrzlina, čokoládové tyčinky, čokoládové dippers", pak následující funkce vrací řetězec "dippers".
ds.Right(mylink.mystring1,7)
Soundex
Vrací kód, který identifikuje sadu slov, která jsou (hrubě) foneticky podobná na základě standardního, otevřeného algoritmu pro vyhodnocení SOUNDEX.
Syntaxe
ds.Soundex(string (string))
returns: kód, který identifikuje sadu foneticky podobných slov.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "Griffin", pak následující funkce vrací kód "G615".
ds.Soundex(mylink.mystring1)
Pokud mylink.mystring1
obsahuje řetězec "Griphin", pak následující funkce vrací také kód "G615".
ds.Soundex(mylink.mystring1)
Prostor
Vrátí řetězec o n mezeznacích.
Syntaxe
ds.Space(length (int32))
returns: řetězec mezer s určenou délkou.
Příklady
Pokud mylink.mylength
obsahuje číslo 100, pak následující funkce vrátí řetězec, který obsahuje 100 znaků.
ds.Space(mylink.mylength)
SQuote
Uzavře řetězec do jednoduchých uvozovek.
Syntaxe
ds.SQuote(string (string))
Vrací: řetězec uzavřený v jednoduchých uvozovkách.
Příklady
Pokud mylink.mystring1
obsahuje řetězec potřebuje uvozovky, pak následující funkce vrátí řetězec 'potřebuje uvozovky'.
ds.SQuote(mylink.mystring1)
STR
Opakuje řetězec uvedený počet krát.
Syntaxe
ds.Str(string (string), repeats (int32))
returns: výsledný řetězec se opakuje n krát.
Příklady
Pokud mylink.mystring1
obsahuje řetězec potřebuje "choc", pak následující funkce vrací řetězec "chochocchochocchocchoc".
ds.Str(mylink.mystring1,5)
Mezera StripWhite
Vrátí řetězec po odstranění všech neviditelných znaků z něj.
Syntaxe
ds.StripWhiteSpace(string (string))
Vrací: řetězec bez mezer.
Příklady
Pokud mylink.mystring
obsahuje řetězec "příliš mnoho mezer", pak následující funkce vrací řetězec "toomanyspaces":
ds.StripWhiteSpace(mylink.mystring)
Podřetězec
Vrací určený podřetězec.
Je-li zadána hodnota n , funkce získá poslední n znaků řetězce.
Je-li uvedeno start a length , funkce získá znaky o délce rovnající se délce od pozice start řetězce.
Když je zadán oddělovač , funkce získá jeden nebo více podřetězců umístěných mezi zadanými oddělovači v řetězci. occu je počet oddělovačů a num je délka podřetězce mezi oddělovači ve výsledném podřetězci.
Syntaxe
ds.Substring(string (string), n (int8))
ds.Substring(string (string), start (int8), length (int8))
ds.Substring(string (string), delimiter (string), occu (int8), num (int8))
vrátí: výsledné pole řetězce formátu řetězce.
Příklady
Následující kód vrátí hodnotu "ab.cd".
ds.Substring("ab.cd", ".", 1, 2)
Podřetězce
Vytvoří dynamické pole, z něhož všechny prvky jsou podřetězce odpovídajících prvků vstupního dynamického pole.
Syntaxe
ds.Substrings(str (string), start (int8), length (int8))
vrátí: výsledné dynamické pole s podřetězci odpovídajícími vstupním poli, ve formátu řetězce.
Příklady
Následující kód vrací "NESýITHþ23üý50ü".
ds.Substrings("JONESýSMITHþ1.23ü20ý2.50ü10", 3, 20)
Oříznout
Odebere všechny úvodní a koncové mezery a tabulátory. Tato funkce také redukuje vnitřní výskyty mezer nebo tabelátorů na jeden.
Argument stripchar volitelně určuje jiný znak než mezeru nebo tabelátor. Argument volby volitelně určuje typ operace oříznutí, která má být provedena, a obsahuje jednu nebo více z následujících hodnot:
A: Odstraní všechny výskyty stripchar.
B Odebrat počáteční a koncové výskyty stripchar.
D Odstranění počátečních, koncových a nadbytečných znaků mezer.
E Odebrat koncové znaky mezery.
F Odstranění počátečních znaků mezery.
L Odebrat všechny počáteční výskyty parametru stripchar.
R Odstranění počátečních, koncových a redundantních výskytů stripchar.
T Odebrat všechny koncové výskyty stripchar.
Syntaxe
ds.Trim(string (string), [stripchar (string)], [options (string)])
vrátí: oříznutý řetězec.
Příklady
Pokud mylink.mystring
obsahuje řetězec " String with whitespace ", pak následující funkce vrací řetězec" String s mezerou ":
ds.Trim(mylink.mystring)
Pokud mylink.mystring
obsahuje řetězec " ..Odeberte .. nadbytečné .. tečky .... ", pak následující funkce vrací řetězec "Remove.redundant.dots":
ds.Trim(mylink.mystring,".")
Pokud mylink.mystring
obsahuje řetězec "Remove .. all.. dots....", pak následující funkce vrací řetězec "Removealldots":
ds.Trim(mylink.mystring,".","A")
Pokud mylink.mystring
obsahuje řetězec "Remove .. trailing.. dots....", pak následující funkce vrací řetězec "Remove .. trailing.. dots":
ds.Trim(mylink.mystring,".","T")
TrimB
Odebere všechny koncové mezery a tabulátory z řetězce.
Syntaxe
ds.TrimB(string (string))
vrátí: oříznutý řetězec.
Příklady
Pokud mylink.mystring
obsahuje řetězec "příliš mnoho koncových mezer", pak následující funkce vrací řetězec "příliš mnoho koncových mezer":
ds.TrimB(mylink.mystring)
TrimF
Odebere všechny úvodní mezery a tabulátory z řetězce.
Syntaxe
ds.TrimF(string (string))
vrátí: oříznutý řetězec.
Příklady
Pokud mylink.mystring
obsahuje řetězec " příliš mnoho úvodních mezer ", pak následující funkce vrací řetězec" příliš mnoho počátečních mezer ":
ds.TrimF(mylink.mystring)
TrimLeading-odesílání
Odebere všechny úvodní a koncové mezery a tabulátory z řetězce.
Syntaxe
ds.TrimLeadingTrailing(string (string))
vrátí: oříznutý řetězec.
Příklady
Pokud mylink.mystring
obsahuje řetězec " příliš mnoho mezer ", pak následující funkce vrací řetězec" příliš mnoho mezer ":
ds.TrimLeadingTrailing(mylink.mystring)
UpCase
Změní všechna malá písmena v řetězci na velká písmena.
Syntaxe
ds.UpCase(string (string))
vrací: výsledný řetězec ve všech velkých případech.
Příklady
Pokud mylink.mystring1
obsahuje řetězec "CaMel cAsE", pak následující funkce vrací řetězec "CAMEL CASE":
ds.UpCase(mylink.mystring1)
IM
Vrátí CHAR (255). Pracuje stejně jako AM.
Syntaxe
ds.IM()
Vrací: výsledné CHAR (255).
Příklady
Následující kód vrací 'ÿ'.
ds.IM()
FM
Vrací CHAR (254).
Syntaxe
ds.FM()
Vrací: výsledný CHAR (254).
Příklady
Následující kód vrací 'ţ'.
ds.FM()
dopoledne
Vrací CHAR (254). Pracuje stejně jako FM.
Syntaxe
ds.AM()
Vrací: výsledný CHAR (254).
Příklady
Následující kód vrací 'ţ'.
ds.AM()
VM
Vrátí CHAR (253).
Syntaxe
ds.VM()
vrátí: výsledný CHAR (253).
Příklady
Následující kód vrátí 'ý'.
ds.VM()
SM
Vrátí CHAR (252). Pracuje stejně jako SVM.
Syntaxe
ds.SM()
vrací: výsledný typ CHAR (252).
Příklady
Následující kód vrací 'ü'.
ds.SM()
SVM
Vrátí CHAR (252). Pracuje stejně jako SM.
Syntaxe
ds.SVM()
vrací: výsledný typ CHAR (252).
Příklady
Následující kód vrací 'ü'.
ds.SVM()
TM
Vrací CHAR (251).
Syntaxe
ds.TM()
Vrací: výsledný CHAR (251).
Příklady
Následující kód vrací 'û'.
ds.TM()
Funkce obslužných programů
Funkce obslužného programu uvádí různé účely související s načítáním informací o specifických funkcích DataStage .
ElementAt
Vrátí prvek v seznamu určeném indexem.
Syntaxe
ds.ElementAt(list (object))
Vrací: index prvku objektu formátu.
Příklady
Následující kód vrátí 'b':
ds.ElementAt(["a","b","c"], 1)
Následující kód vrátí hodnotu 2:
ds.ElementAt([1,2,3], 1)
Název příkazu GetCommand
Vezme ID uzlu "Spustit aktivitu skriptu bash" a načte název příkazu aktivity skriptu Run bash.
Syntaxe
ds.GetCommandName(tasks.activity_id (string))
vrátí: název příkazu řetězce formátu.
Příklady
Následující kód vrací název příkazu úlohy run_bash_script_5
:
ds.GetCommandName(tasks.run_bash_script_5)
Výstup příkazu GetCommand
Vezme identifikátor uzlu "Spustit aktivitu skriptu bash" a načte jeho standardní výstup. Je ekvivalentní výrazu CEL:
tasks.<activity_id>.results.standard_output
Syntaxe
ds.GetCommandOutput(tasks.activity_id (string))
vrátí: standardní výstup formátovacího řetězce.
Příklady
Následující kód vrací standardní výstup úlohy run_bash_script_5
:
ds.GetCommandOutput(tasks.run_bash_script_5)
Zpráva GetError
Používá se v úloze pouze v obslužné rutině výjimek. Výstup je text zprávy, která bude zaprotokolována jako varování při vyvolání výjimky.
Syntaxe
ds.GetErrorMessage()
Vrací: výslednou zprávu řetězce formátu.
Příklady
Následující kód vrátí chybovou zprávu nezdařené úlohy:
ds.GetErrorMessage()
GetErrorČíslo
Používá se v úloze pouze v obslužné rutině výjimek, výstupem je celé číslo, které označuje typ vyvolané chyby, která je vyvolána. Buď 1, nebo -1.
1 označuje, že úloha spustila úlohu, která byla předčasně ukončena, a nebyla nastavena žádná specifická obslužná rutina.
Hodnota -1 označuje, že úloha nebyla spuštěna z jiných důvodů.
Syntaxe
ds.GetErrorNumber()
vrátí: výsledné celé číslo int.
Příklady
Následující kód vrací číslo chyby typu aktivity obslužné rutiny výjimek:
ds.GetErrorNumber()
Zdroj GetError
Výstup se v úloze používá pouze v obslužné rutině výjimek, výstupem je název fáze fáze aktivity, která vyvolala výjimku.
Syntaxe
ds.GetErrorSource()
Vrací: výslednou hodnotu úlohy řetězce formátu.
Příklady
Následující kód vrátí úlohu, která selhala:
ds.GetErrorSource()
Název GetJob
Vrátí název úlohy aktivity Run DataStage v době, kdy je funkce spuštěna. Je ekvivalentní výrazu CEL:
tasks.<activity_id>.results.job_name
Syntaxe
ds.GetJobName(tasks.activity_id (string))
vrátí: název úlohy řetězce formátu.
Příklady
Následující kód vrátí úlohu názvu úlohy run_datastage_flow_1
:
ds.GetJobName(tasks.run_datastage_flow_1)
Stav příkazu GetJob
Vezme hodnotu ID uzlu aktivity "Spustit aktivitu DataStage " a načte její stav úlohy pro produkt <activity_name>.$JobStatus
. Je ekvivalentní s následujícím výrazem cel:
((tasks.<activity_id>.results.status == 'Completed') ? 1 : ((tasks.<activity_id>.results.status == 'CompletedWithWarnings') ? 2 : ((tasks.<activity_id>.results.status == 'Cancelled') ? 96 : 3)))
Syntaxe
ds.GetJobStatus(tasks.activity_id (string))
Vrací: stav úlohy formátu int.
Příklady
Následující kód vrací stav úlohy run_datastage_flow_1
:
ds.GetJobStatus(tasks.run_datastage_flow_1)
Čítač GetList
Používá se v úloze ve smyčce pouze se seznamem čítačů, výstupem je aktuální hodnota proměnné čítače.
Syntaxe
ds.GetListCounter()
vrátí: výsledná hodnota čítače řetězce formátu.
Příklady
Následující kód vrací aktuální hodnotu smyčky.
ds.GetListCounter()
GetNumeric-čítač
Používá se v úloze ve smyčce pouze s číselným čítačem, výstupem je aktuální hodnota proměnné čítače smyčky.
Syntaxe
ds.GetNumericCounter()
vrátí: výsledná hodnota čítače ve formátu int.
Příklady
Následující kód vrací aktuální hodnotu smyčky.
ds.GetNumericCounter()
GetOutputArg
Vrací určenou hodnotu klíče ze vstupu JSON typu string.
Syntaxe
ds.GetOutputArg(JSON (string), key_value (string))
returns: Hodnota pole vlastnosti.
Příklady
Následující kód vrací řetězcovou hodnotu "tom":
ds.GetOutputArg("{"name":"tom"}", "name")
Hodnota GetReturn
Vezme hodnotu ID uzlu "Spustit aktivitu skriptu Bash" a vrátí hodnotu aktivity Spustit skript bash. Je ekvivalentní s následujícím výrazem CEL:
tasks.<activity_id>.results.return_value
Syntaxe
ds.GetReturnValue(tasks.activity_id (string))
returns: výsledná hodnota úlohy formátu int.
Příklady
Následující kód vrací hodnotu úlohy tasks.run_bash_script_5
:
ds.GetReturnValue(tasks.run_bash_script_5)
Stav GetUser
Vezme ID úlohy toku DataStage a vrátí stav úlohy toku DataStage v posloupnosti úlohy. Nefunguje, pokud se spustí v paralelní úloze. Je ekvivalentní výrazu CEL:
tasks.<activity_id>.results.user_status
Syntaxe
ds.GetUserStatus(tasks.run_datastage_id (string))
vrací: stav ID úlohy toku DataStage ve formátu řetězce.
Příklady
Následující kód vrací hodnotu ID úlohy run_datastage_5
:
ds.GetUserStatus(tasks.run_datastage_5)
LogName
Vrátí přihlašovací jméno aktuálního uživatele.
Syntaxe
ds.LogName()
returns: přihlašovací jméno aktuálního uživatele řetězce formátu.
Příklady
Následující kód vrací přihlašovací jméno aktuálního uživatele.
ds.LogName()
Cesta
Vrátí úplný název aktuálního uživatele.
Syntaxe
ds.Path()
returns: jméno cesty aktuálního uživatele řetězce formátu.
Příklady
Následující kód vrací úplný název aktuálního uživatele.
ds.Path()
Schéma
Vrátí název schématu aktuálního uživatele.
Syntaxe
ds.Schema()
vrátí: název schématu aktuálního uživatele řetězce formátu.
Příklady
Následující kód vrací název schématu aktuálního uživatele.
ds.Schema()
UserNo
Vrátí číslo uživatele aktuálního uživatele.
Syntaxe
ds.UserNo()
Vrací: uživatelské informace aktuálního uživatele formátu int.
Příklady
Následující kód vrací číslo uživatele aktuálního uživatele.
ds.UserNo()
Kdo
Vrátí aktuálního uživatele.
Syntaxe
ds.Who()
Vrací: aktuálního uživatele formátovacího řetězce.
Příklady
Následující kód vrací aktuálního uživatele.
ds.Who()
Funkce obsluhy s hodnotou
Funkce, které pracují s hodnotou null.
IsNull
Vrátí logickou hodnotu true, pokud se vstupní výraz vyhodnocuje na hodnotu Null.
Syntaxe
ds.IsNull(input (any))
returns: výsledek, zda je výraz vyhodnocen jako null, ve formátu boolean.
Příklady
Následující kód vrátí hodnotu true.
ds.IsNull(null)
Následující kód vrátí hodnotu false.
ds.IsNull(0)
není null
Vrátí logickou hodnotu true, pokud se vstupní výraz nevyhodnocuje na hodnotu null.
Syntaxe
ds.IsNotNull(input (any))
returns: výsledek, zda se výraz nevyhodnocuje na hodnotu null, ve formátu boolean.
Příklady
Následující kód vrátí hodnotu false.
ds.IsNotNull(null)
Následující kód vrátí hodnotu true.
ds.IsNotNull(0)
Null
Vrátí hodnotu null.
Syntaxe
ds.Null()
Vrací: hodnotu null.
Příklady
Následující kód vrací hodnotu null.
ds.Null()
NullToprázdné
Vrací prázdný řetězec, pokud má vstup hodnotu null. V opačném případě vrací hodnotu vstupního sloupce.
Syntaxe
ds.NullToEmpty(input (any))
returns: prázdný řetězec nebo vstupní hodnota.
Příklady
Následující kód vrátí hodnotu "AA".
ds.NullToEmpty("AA")
Následující kód vrátí hodnotu "".
ds.NullToEmpty(null)
NullStr
Vrací řetězec s hodnotou null CHAR (128).
Syntaxe
ds.NullStr()
returns: null string CHAR (128).
Příklady
Následující kód vrátí hodnotu €.
ds.NullStr()
Hodnota NullTo
Vrací zadanou hodnotu, pokud má vstup hodnotu null, jinak vrací hodnotu vstupního sloupce.
Syntaxe
ds.NullToValue(input (any), default (any))
vrátí: určenou hodnotu nebo vstupní hodnotu.
Příklady
Následující kód vrací "test".
ds.NullToValue("test", "default")
Následující kód vrací "výchozí".
ds.NullToValue(null, "default")
Následující kód vrátí hodnotu 1.
ds.NullToValue(null, 1)
Nula NullTo
Vrací 0, pokud má vstup hodnotu null, jinak vrací hodnotu vstupního sloupce.
Syntaxe
ds.NullToZero(input (any))
vrátí hodnotu: 0 nebo vstupní hodnotu.
Příklady
Následující kód vrátí hodnotu 88.
ds.NullToZero(88)
Následující kód vrátí hodnotu 0.
ds.NullToZero(null)
SetNull
Přiřadí hodnotu null do cílového sloupce.
Syntaxe
ds.SetNull()
vrací: nastaví cíl na hodnotu null.
Příklady
Následující kód vrací hodnotu null.
ds.SetNull()
Funkce maker
Funkce, které zpracovávají načtení sady metadat projektu souvisejících s posloupností úloh DataStage .
JobName
Vrátí název úlohy sekvencer.
Syntaxe
ds.JobName
vrátí: název úlohy sekvencer formátu řetězce.
Příklady
Následující kód vrací název úlohy sekvencer.
ds.JobName
Datum JobStart
Vrátí datum zahájení úlohy sequencer.
Syntaxe
ds.JobStartDate
vrátí: Počáteční datum řetězce sekvenceru formátu řetězce.
Příklady
Následující kód vrátí datum zahájení úlohy sequencer.
ds.JobStartDate
Čas JobStart
Vrátí čas zahájení úlohy sequencer.
Syntaxe
ds.JobStartTime
vrátí: čas zahájení úlohy sekvenceru formátu řetězce.
Příklady
Následující kód vrací čas zahájení úlohy sequencer.
ds.JobStartTime
Časové razítko JobStart
Vrátí časové razítko spuštění úlohy sekvencer.
Syntaxe
ds.JobStartTimestamp
Vrací: Časové razítko začátku úlohy sekvencer formátu časového označení.
Příklady
Následující kód vrátí počáteční časové razítko úlohy sequencer.
ds.JobStartTimestamp
HostName
Vrátí název hostitele serveru DataStage .
Syntaxe
ds.HostName
vrátí: úloha sequencer InvocationId
formátovacího řetězce.
Příklady
Následující kód vrací úlohu sekvencer InvocationId
.
ds.HostName
ProjectName
Vrátí název projektu běžící úlohy sequencer.
Syntaxe
ds.ProjectName
vrátí: název projektu běžící úlohy sequencer.
Příklady
Následující kód vrátí název projektu běžící úlohy sequencer.
ds.ProjectName
ProjectId
Vrátí ID projektu běžící úlohy sekvencer.
Syntaxe
ds.ProjectId
vrací: ID projektu běžící úlohy sekvencer.
Příklady
Následující kód vrací ID projektu běžící úlohy sekvencer.
ds.ProjectId
JobId
Vrátí ID úlohy běžící úlohy sekvencer.
Syntaxe
ds.JobId
Vrací: ID úlohy běžící úlohy sekvencer.
Příklady
Následující příkazy vrací ID úlohy běžící úlohy sekvencer.
ds.JobId
JobController
Vrátí název toku propojení procesů běžící úlohy sekvencer.
Syntaxe
ds.JobController
vrátí: název toku propojení procesů běžící úlohy sekvencer.
Příklady
Následující příkazy vrací název toku propojení procesů běžící úlohy sekvencer.
ds.JobController
Nadřízené téma: Přidání podmínek do propojení procesů