STR (SQL Bertransaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Mengembalikan data karakter yang dikonversi dari data numerik. Data karakter dibenarkan dengan benar, dengan panjang dan presisi desimal yang ditentukan.

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

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

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

float_expression
Adalah ekspresi tipe data perkiraan numerik (float) dengan titik desimal.

panjang
Adalah panjang total. Hal ini termasuk titik desimal, tanda, digit, dan spasi. Nilai defaultnya adalah 10.

desimal
Adalah jumlah tempat di sebelah kanan titik desimal. desimal harus kurang dari atau sama dengan 16. Jika desimal lebih dari 16 maka hasilnya dipotong menjadi enam belas tempat di sebelah kanan titik desimal.

Jenis Pengembalian

varchar

Keterangan

Jika disediakan, nilai untuk parameter panjang dan desimal ke STR harus positif. Angka dibulatkan ke bilangan bulat secara default atau jika parameter desimal adalah 0. Panjang yang ditentukan harus lebih besar dari atau sama dengan bagian angka sebelum titik desimal ditambah tanda angka (jika ada). Float_expression pendek dibenarkan kanan dalam panjang yang ditentukan, dan float_expression panjang dipotong ke jumlah tempat desimal yang ditentukan. Misalnya, STR(12, 10) menghasilkan hasil 12. Ini dibenarkan dengan benar dalam tataan hasil. Namun, STR(1223, 2) memotong hasil yang diatur ke **. Fungsi string dapat ditumpuk.

Catatan

Untuk mengonversi ke data Unicode, gunakan STR di dalam fungsi konversi CONVERT atau CAST .

Contoh

Contoh berikut mengonversi ekspresi yang terdiri dari lima digit dan titik desimal menjadi string karakter enam posisi. Bagian pecahan dari angka dibulatkan ke satu tempat desimal.

SELECT STR(123.45, 6, 1);  
GO  

Berikut adalah hasil yang ditetapkan.

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

Ketika ekspresi melebihi panjang yang ditentukan, string akan kembali ** untuk panjang yang ditentukan.

SELECT STR(123.45, 2, 2);  
GO  

Berikut adalah hasil yang ditetapkan.

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

Bahkan ketika data numerik ditumpuk dalam STR, hasilnya adalah data karakter dengan format yang ditentukan.

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

Berikut adalah hasil yang ditetapkan.

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

Lihat juga

CAST dan CONVERT (SQL Transact)
FORMAT (T-SQL)
Fungsi String (SQL Transact)