Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana Fungsi STR() Bekerja di SQL Server (T-SQL)

Di SQL Server, T-SQL STR() fungsi mengembalikan data karakter yang dikonversi dari data numerik. Nilai kembalian memiliki tipe pengembalian varchar .

Anda memberikan data numerik sebagai argumen saat memanggil fungsi. Fungsi kemudian mengubahnya menjadi data karakter. Ada juga dua argumen opsional yang dapat Anda gunakan untuk menentukan panjang, dan jumlah tempat di sebelah kanan titik desimal.

Sintaks

Sintaksnya seperti ini:

STR ( float_expression [ , panjang [ , desimal ] ] )

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

panjang adalah argumen opsional yang dapat Anda gunakan untuk menentukan panjang total. Ini termasuk titik desimal, tanda, angka, dan spasi. Standarnya adalah 10.

desimal adalah jumlah tempat di sebelah kanan titik desimal. Ini bisa menjadi nilai maksimum 16. Jika lebih dari itu, dipotong menjadi 16.

Contoh 1 – Penggunaan Dasar

Berikut ini contoh cara kerjanya:

SELECT STR(123.45) SEBAGAI Hasil;

Hasil:

+------------+| Hasil ||------------|| 123 |+--------+

Contoh 2 – Pembulatan

Secara default, angka dibulatkan menjadi bilangan bulat. Jika kita menyesuaikan input dari contoh sebelumnya (misalnya, menambah bagian pecahan dari .45 ke .55 ) kita mendapatkan yang berikut:

SELECT STR(123.55) SEBAGAI Hasil;

Hasil:

+------------+| Hasil ||------------|| 124 |+------------+

Contoh 3 – Panjang

Saat menggunakan panjang opsional parameter, nilainya harus lebih besar atau sama dengan bagian angka sebelum koma ditambah tanda angka (jika ada).

Misalnya, berikut ini baik-baik saja, karena length lebih besar dari bagian angka sebelum koma:

SELECT STR(123.55, 4) SEBAGAI Hasil;

Hasil:

+----------+| Hasil ||----------|| 124 |+----------+

Namun, contoh berikut menunjukkan apa yang terjadi ketika length nilainya terlalu kecil:

SELECT STR(123.55, 2) SEBAGAI Hasil;

Hasil:

+----------+| Hasil ||----------|| ** |+----------+

Perhatikan juga bahwa panjang menentukan panjang keluaran, dan termasuk titik desimal, tanda, angka, dan spasi. Panjang default adalah 10.

Berikut adalah contoh untuk menunjukkan perbedaan output tergantung pada nilai length argumen:

PILIH 123 AS '123', STR(123, 3) AS '3', STR(123, 10) AS '10', STR(123, 16) AS '16';

Hasil:

+-------+-----+------------+------------------+ | 123 | 3 | 10 | 16 ||-------+-----+------------+-------|| 123 | 123 | 123 | 123 |+-------+-----+------------+------------------+ 

Untuk cara lain untuk mendemonstrasikan ini, dalam contoh berikut saya memangkas output menggunakan TRIM() fungsi (dan bandingkan dengan versi yang belum dipotong):

PILIH TRIM(STR(123, 16)) SEBAGAI 'A', STR(123, 16) SEBAGAI 'B';

Hasil:

+-----+------------------+| Sebuah | B ||-----+------------------|| 123 | 123 |+-----+------------------+

Contoh 4 – Tempat Desimal

Berikut ini contoh penggunaan desimal opsional parameter:

SELECT STR(123.55, 8, 4) SEBAGAI Hasil;

Hasil:

+----------+| Hasil ||----------|| 123.5500 |+----------+

Perhatikan bahwa saya meningkatkan nilai untuk length untuk mengakomodasi tempat desimal.

Jika saya mengurangi panjang nilai ke 6 , saya mengerti ini:

SELECT STR(123.55, 6, 4) SEBAGAI Hasil;

Hasil:

+----------+| Hasil ||----------|| 123.55 |+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat menghapus skema , karena tidak ada atau Anda tidak memiliki izin. - Tutorial SQL Server / TSQL Bagian 29

  2. Ubah nama bulan menjadi nomor bulan di SQL Server

  3. Ubah Format Tanggal Untuk Sesi Saat Ini di SQL Server

  4. Apa tipe data SYSNAME di SQL Server?

  5. Perbedaan Antara sys.columns, sys.system_columns, &sys.all_columns di SQL Server