Rumah  >  Artikel  >  pangkalan data  >  MS SQL Server - Penukaran Jenis

MS SQL Server - Penukaran Jenis

PHPz
PHPzke hadapan
2023-09-03 08:05:021336semak imbas

MS SQL Server - 类型转换

Apabila kami memproses data dalam MS SQL Server, kami selalunya perlu melakukan pengiraan atau menapis hasil berdasarkan jenis data. Menukar jenis data dengan betul memastikan pengiraan kami adalah tepat dan pertanyaan mengembalikan hasil yang diperlukan. Dalam artikel ini, kita akan membincangkan pelbagai jenis penukaran dalam MS SQL Server.

Jenis data terbina dalam dalam MS SQL Server

MS SQL Server mempunyai pelbagai jenis data terbina dalam untuk menyimpan pelbagai jenis data. Ini adalah jenis data terbina dalam biasa dalam MS SQL Server -

  • int: digunakan untuk menyimpan integer.

  • perpuluhan: Jenis data yang digunakan untuk menyimpan nombor perpuluhan.

  • varchar: digunakan untuk menyimpan rentetan panjang berubah-ubah.

  • dateTime: digunakan untuk menyimpan nilai tarikh dan masa.

  • bit: digunakan untuk menyimpan nilai Boolean.

Contoh

Pertimbangkan jadual yang dipanggil "Produk". Ia mengandungi maklumat tentang produk, nama, harga dan kuantiti stok. Kita boleh mentakrifkan lajur "harga" sebagai jenis data perpuluhan dan lajur "kuantiti_dalam_stok" sebagai jenis data int.

Penukaran jenis data tersirat

MS SQL Server secara automatik akan menukar satu jenis data kepada jenis data lain jika perlu apabila melakukan operasi pada jenis data yang berbeza. Ini dipanggil penukaran jenis data tersirat.

Contoh

Pertimbangkan jadual bernama "jualan". Ia mengandungi maklumat tentang jualan, harga jualan dan kuantiti jualan. Tulis pertanyaan untuk mengira jumlah hasil jualan seperti yang ditunjukkan di bawah −

SELECT sale_price * quantity_sold AS total_revenue FROM sales

Dalam pertanyaan ini, MS SQL Server secara automatik akan menukar nilai quantity_sold daripada jenis data int kepada jenis data perpuluhan. Kemudian lakukan pendaraban. Oleh kerana kita tidak boleh mendarab int dan perpuluhan tanpa menukar salah satu nilai terlebih dahulu.

Penukaran jenis data eksplisit

Kami juga boleh menukar jenis data secara eksplisit menggunakan fungsi CAST dan CONVERT.

  • Fungsi CASTMenukar ungkapan satu jenis data kepada jenis data yang lain. Sintaks fungsi CAST adalah seperti berikut:

CAST ( expression AS data_type [ ( length ) ] )
  • Fungsi CONVERTMenukar ungkapan satu jenis data kepada jenis data lain dengan gaya pemformatan tertentu. Sintaks fungsi CONVERT adalah seperti berikut:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

Contoh

Pertimbangkan jadual yang dipanggil "pesanan". Ia mengandungi maklumat tentang pesanan, termasuk tarikh pesanan. Tulis pertanyaan untuk mendapatkan semula tarikh pesanan sebagai rentetan dalam format "MM/DD/YYYY" seperti yang ditunjukkan di bawah -

SELECT CONVERT(varchar, order_date, 101) AS 'Order Date' FROM orders

Dalam pertanyaan ini, kami menggunakan fungsi CONVERT untuk menukar nilai tarikh_pesanan kepada jenis data varchar dengan gaya format 101. Ia mewakili format "MM/DD/YYYY".

Tukar jenis data dalam pertanyaan

Kami juga boleh menggunakan penukaran jenis data dalam pertanyaan untuk menukar jenis data kepada jenis data yang berbeza. Ini amat berguna apabila menapis hasil pertanyaan.

Contoh

Pertimbangkan jadual "produk" daripada contoh sebelumnya. Anda ingin menapis hasil untuk memaparkan produk dengan harga di bawah 10 sahaja. Pertanyaan akan kelihatan seperti di bawah

SELECT *
FROM products
WHERE CAST(price AS int) < 10

Dalam pertanyaan ini, kami telah menggunakan fungsi CAST untuk menukar nilai harga kepada jenis data int. Dengan cara ini kita boleh membandingkannya dengan nilai integer 10.

Kendalikan ralat penukaran

Kadangkala, ralat penukaran mungkin berlaku semasa menukar jenis data. Contohnya, jika kita cuba menukar nilai rentetan kepada integer, dan rentetan itu bukan nilai integer yang sah. Oleh itu, MS SQL Server membuang ralat penukaran. Untuk mengendalikan ralat ini, kita boleh menggunakan fungsi TRY_CONVERT. Ia cuba menukar nilai kepada jenis data yang ditentukan. Jika penukaran gagal, NULL dikembalikan.

Contoh

Pertimbangkan jadual yang dipanggil "pekerja". Ia mengandungi maklumat tentang pekerja, ID pekerja dan tarikh pengambilan pekerja. Anda ingin menapis hasil untuk menunjukkan hanya pekerja yang diambil sebelum tarikh tertentu. Tetapi tarikh sewa disimpan sebagai jenis data varchar. Kita boleh menulis pertanyaan seperti ini -

SELECT *
FROM employees
WHERE TRY_CONVERT(date, hire_date) < '01/01/2022'

Dalam pertanyaan ini, kami menggunakan fungsi TRY_CONVERT. Ia cuba menukar nilai hire_date kepada jenis data tarikh. Jika penukaran gagal, fungsi mengembalikan NULL. Ia menghalang pertanyaan daripada membuang ralat penukaran.

Kesimpulan

MS SQL Server mempunyai jenis data terbina dalam dan fungsi untuk melaksanakan penukaran jenis. Anda harus tahu bahawa menukar jenis data dengan betul adalah penting untuk menulis pertanyaan yang tepat dan cekap. Dengan menggunakan teknik yang dibincangkan dalam artikel ini, anda boleh memastikan bahawa pertanyaan anda mengembalikan hasil yang anda perlukan, walaupun semasa bekerja dengan jenis data yang berbeza.

Atas ialah kandungan terperinci MS SQL Server - Penukaran Jenis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam