Megosztás a következőn keresztül:


STR (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Karakteradatokat ad vissza, amely numerikus adatokból van átalakítva. A karakteradatok jobbra igazítottak, meghatározott hosszúsággal és tizedes pontossággal.

Transact-SQL szintaxis konvenciók

Szemantika

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

Arguments

float_expression

Közelítő numerikus (lebegőpontos) adattípus kifejezése tizedesvesszővel.

length

A teljes hossz, beleértve a tizedesvesszőt, a jelet, a számjegyeket és a szóközöket. Az alapértelmezett érték 10.

decimal

A tizedesvessző jobb oldalán lévő helyek száma. a tizedes esetben kisebbnek vagy egyenlőnek kell lennie 16-tal. Ha a decimális érték 16-nál több, az eredményt a tizedesvessző jobb oldalán lévő 16 helyre csonkolja a függvény.

Visszatérési típusok

varchar

Megjegyzések

Ha megadják, az STR-hez tartozó hosszúság és tizedes paraméterek értékei pozitívak legyenek. A számot alapértelmezés szerint egész számra kerekítik, vagy ha a tizedes paraméter 0. A megadott hossznak nagyobbnak vagy egyenlőnek kell lennie, mint a szám tizedespont előtti részének a szám jele (ha van van). Egy rövid float_expression a megadott hosszúságban jobbra igazított, míg egy hosszú float_expression a megadott számú tizedesszámra vágva van levágva. Például az STR(12, 10) eredményét adja 12-nek. Ez helyesen igazolható az eredményhalmazban. Azonban az STR(1223, 2) lerövidíti az eredményhalmát **-ra. A string függvények be vannak ágyazva.

Megjegyzés:

Unicode adatra konvertáláshoz használd az STR-t egy CONVERT vagy CAST konvertáló függvényben.

Példák

Az alábbi példa egy öt számjegyből és egy tizedespontból álló kifejezést hat pozíciójú karakterláncra alakít át. A szám törtrész része egy tizedesjegyre kerekítik.

SELECT STR(123.45, 6, 1);  
GO  

Itt van az eredmények összessége.

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

Ha az kifejezés meghaladja a megadott hosszúságot, a láncsorok a megadott hosszúságra térnek vissza ** .

SELECT STR(123.45, 2, 2);  
GO  

Itt van az eredmények összessége.

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

Még akkor is, ha a numerikus adatok beágyazódnak , STRaz eredmény a megadott formátumú karakteradat.

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

Itt van az eredmények összessége.

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