Sdílet prostřednictvím


STR (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrací data znaku převedená z číselných dat. Data znaků jsou správně zarovnána, s určenou délkou a desetinnou přesností.

Transact-SQL konvence syntaxe

Syntaxe

STR ( float_expression [ , length [ , decimal ] ] )  

Arguments

float_expression

Výraz přibližného číselného (float) datového typu s desetinnou čárkou.

length

Celková délka včetně desetinné čárky, znaménka, číslic a mezer. Výchozí hodnota je 10.

decimal

Počet míst napravo od desetinné čárky. desetinná čísla musí být menší nebo rovna 16. Pokud je desítkové číslo větší než 16, výsledek se zkrátí na 16 míst napravo od desetinné čárky.

Návratové typy

varchar

Poznámky

Pokud je dodán, hodnoty délky a desetinných parametrů STR by měly být kladné. Číslo je ve výchozím nastavení zaokrouhleno na celé číslo, nebo pokud je desetinný parametr 0. Specifikovaná délka by měla být větší nebo rovna části čísla před desetinnou čárkou plus znaménko čísla (pokud nějaké je). Krátký float_expression je správně zarovnán v určené délce a dlouhý float_expression je zkrácen na určený počet desetinných míst. Například STR(12, 10) dává výsledek 12. To je správně justifikováno v množině výsledků. Nicméně STR(1223, 2) zkracuje výslednou množinu na **. Řetězcové funkce lze vnořit.

Poznámka:

Pro převod na Unicode data použijte STR uvnitř konverzní funkce CONVERT nebo CAST .

Examples

Následující příklad převádí výraz složený z pěti číslic a desetinné čárky na šestipolohový znakový řetězec. Zlomková část čísla je zaokrouhlena na jedno desetinné místo.

SELECT STR(123.45, 6, 1);  
GO  

Tady je soubor výsledků.

------  
 123.5  
  
(1 row(s) affected)  

Pokud výraz překročí zadanou délku, řetězec vrátí ** pro danou délku.

SELECT STR(123.45, 2, 2);  
GO  

Tady je soubor výsledků.

--  
**  
  
(1 row(s) affected)  

I když jsou číselná data vnořena do STR, výsledkem jsou znaková data ve specifikovaném formátu.

SELECT STR (FLOOR (123.45), 8, 3);
GO  

Tady je soubor výsledků.

--------  
 123.000  
  
(1 row(s) affected)