Aracılığıyla paylaş


STR (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Sayısal verilerden dönüştürülmüş karakter verisini döndürür. Karakter verisi sağa doğru düzelmiş, belirli bir uzunluk ve ondalık hassasiyetle sunulur.

Transact-SQL söz dizimi kuralları

Sözdizimi

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

Arguments

float_expression
Yaklaşık sayısal (kayan) veri türüne sahip bir ifadedir ve ondalık nokta içerir.

length
Toplam uzunluk. Buna ondalık nokta, işaret, rakamlar ve boşluklar dahildir. Varsayılan değer 10'dur.

decimal
Ondalık noktanın sağındaki yer sayısıdır. ondalık 16'dan küçük veya eşit olmalıdır. Ondalık 16'dan fazlaysa, sonuç ondalık noktanın sağındaki on altı yere kadar kısaltılır.

Dönüş Türleri

varchar

Açıklamalar

Sağlanırsa, STR'ye uzunluk ve ondalık parametreler değerleri pozitif olmalıdır. Sayı, varsayılan olarak veya ondalık parametre 0 ise tam sayıya yuvarlanır. Belirtilen uzunluk, ondalık noktadan önceki kısmından ve varsa numaranın işaretinden büyük veya eşit olmalıdır. Kısa bir float_expression belirlenen uzunlukta sağa doğru ayarlanırken, uzun bir float_expression belirtilen ondalık basamak sayısına kadar kısaltılır. Örneğin, STR(12, 10) 12'nin sonucunu verir. Bu, sonuç kümesinde doğru haklı gösterilir. Ancak, STR(1223, 2) sonuç kümesini ** olarak kısaltır. Dizi fonksiyonları iç içe yerleştirilebilir.

Uyarı

Unicode verisine dönüştürmek için, CONVERT veya CAST dönüştürme fonksiyonunun içinde STR kullanın.

Örnekler

Aşağıdaki örnek, beş basamaklı ve ondalık noktadan oluşan bir ifadeyi altı pozisyonlu bir karakter dizimine dönüştürür. Sayının kesirli kısmı bir ondalık basamaya yuvarlanır.

SELECT STR(123.45, 6, 1);  
GO  

Sonuç kümesi aşağıdadır.

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

İfade belirtilen uzunluğu aştığında, dizi belirtilen uzunluk için geri döner ** .

SELECT STR(123.45, 2, 2);  
GO  

Sonuç kümesi aşağıdadır.

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

Sayısal veriler iç içe STRolsa bile, sonuç belirtilen formatta karakter verisi olur.

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

Sonuç kümesi aşağıdadır.

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

Ayrıca Bkz.

CAST ve CONVERT (Transact-SQL)
FORMAT (Transact-SQL)
Dize İşlevleri (Transact-SQL)