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
Egy közelítő numerikus (lebegő) adattípusú kifejezés, tizedesponttal.

length
A teljes hossz. Ez magában foglalja a tizedespontokat, jeleket, számjegyeket és tereket. Az alapértelmezett érték 10.

decimal
A tizedespont jobbra lévő helyek száma. a tizedes esetben kisebbnek vagy egyenlőnek kell lennie 16-tal. Ha a tizedes szám több mint 16, akkor az eredmény tizenhat helyre rövidítjük a tizedesponttól jobbra.

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)  

Lásd még:

CAST és CONVERT (Transact-SQL)
FORMÁTUM (Transact-SQL)
sztringfüggvények (Transact-SQL)