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
Je výraz přibližného číselného (plovoucího) datového typu s desetinnou čárkou.

length
Je celková délka. To zahrnuje desetinnou čárku, znaménko, číslice a mezery. Výchozí hodnota je 10.

decimal
Je počet míst napravo od desetinné čárky. desetinná čísla musí být menší nebo rovna 16. Pokud je desetinné číslo více než 16, výsledek se zkrátí na šestnáct 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)  

Viz také

CAST a CONVERT (Transact-SQL)
FORMÁT (Transact-SQL)
řetězcové funkce (Transact-SQL)