penukaran jenis rentetan mysql

WBOY
Lepaskan: 2023-05-20 15:14:38
asal
1072 orang telah melayarinya

MySQL ialah sistem pengurusan pangkalan data hubungan yang digunakan secara meluas yang menyokong pelbagai jenis data. Antaranya, jenis rentetan adalah yang sangat biasa. Dalam operasi pangkalan data harian, kadangkala perlu untuk menukar jenis rentetan Artikel ini akan memperkenalkan operasi penukaran jenis rentetan yang biasa digunakan dalam MySQL.

  1. Fungsi CAST dan CONVERT

Fungsi CAST dan CONVERT menukar satu jenis data kepada yang lain. Sintaks mereka sangat serupa, tetapi beberapa butiran berbeza. Contohnya:

CAST(ungkapan SEBAGAI jenis)

CONVERT(ungkapan,jenis)

dengan ungkapan ialah ungkapan atau lajur yang hendak ditukar dan taip ialah ungkapan yang perlu ditukar kepada Jenis data sasaran. Contohnya:

PILIH CAST('123' AS UNTANDA);

SELECT CONVERT('123',UNTANDA);

Kedua-dua penyataan mempunyai kesan yang sama tukar rentetan '123' kepada jenis integer yang tidak ditandatangani.

  1. Penukaran antara pelbagai jenis rentetan

MySQL menyokong berbilang jenis rentetan Berikut ialah beberapa kaedah penukaran biasa antara jenis:

2.1 Menukar jenis rentetan kepada tarikh. dan jenis masa

jenis TARIKH, MASA, DATETIME sangat mudah untuk penyimpanan dan operasi tarikh dan masa. Kita boleh menggunakan fungsi STR_TO_DATE untuk menukar rentetan kepada jenis tarikh atau masa.

Contohnya:

PILIH STR_TO_DATE('2022-01-01','%Y-%m-%d');

Fungsi pernyataan ini ialah untuk menukar aksara Rentetan '2022-01-01' ditukar kepada jenis DATE.

2.2 Tukar jenis rentetan kepada jenis penghitungan

Jenis penghitungan ialah jenis khusus MySQL yang sesuai untuk beberapa julat nilai tetap.

Kita boleh menggunakan fungsi ENUM untuk menukar jenis rentetan kepada jenis penghitungan:

PILIH ENUM('hijau','merah','biru');

Fungsi pernyataan ini adalah untuk menukar rentetan 'hijau' kepada jenis penghitungan, yang biasanya digunakan untuk menyimpan pilihan tetap seperti jantina dan negara.

2.3 Tukar jenis rentetan kepada jenis binari

Jenis binari sesuai untuk menyimpan data binari, seperti gambar, audio, dsb.

Kita boleh menggunakan fungsi HEX untuk menukar rentetan kepada jenis perenambelasan untuk mencapai penukaran daripada rentetan kepada jenis binari. Contohnya:

SELECT HEX('abc');

Fungsi pernyataan ini adalah untuk menukar rentetan 'abc' kepada perwakilan jenis heksadesimal.

  1. Ralat dan penyelesaian biasa

Semasa proses penukaran jenis rentetan, beberapa ralat sering berlaku. Berikut ialah pengenalan ringkas kepada beberapa ralat biasa dan penyelesaiannya.

3.1 Rentetan mengandungi aksara bukan angka

Apabila rentetan mengandungi aksara bukan angka, ralat akan dilaporkan apabila menggunakan fungsi CAST dan CONVERT untuk menukar rentetan kepada jenis angka. Anda boleh menggunakan fungsi TRIM untuk mengalih keluar ruang daripada rentetan, dan fungsi REPLACE untuk menggantikan aksara bukan angka dengan aksara nol.

Contohnya:

PILIH CAST(GANTIKAN(TRIM(' 123abc '),' ','')SEBAGAI TIDAK DITANDATANGANI);

Fungsi pernyataan ini adalah untuk tukar rentetan ' 123abc ' Tukar kepada jenis integer yang tidak ditandatangani.

3.2 Format tarikh atau masa tidak memenuhi keperluan

Format jenis tarikh atau masa mesti memenuhi keperluan MySQL, jika tidak ralat akan dilaporkan. Anda boleh menggunakan fungsi STR_TO_DATE untuk menukar jenis rentetan kepada jenis tarikh atau masa sasaran, dengan menyatakan format yang betul.

Contohnya:

PILIH STR_TO_DATE('20220101', '%Y%m%d');

Fungsi pernyataan ini adalah untuk menukar rentetan '20220101 ' ke dalam jenis Tarikh.

Melalui pengenalan artikel ini, kami telah mempelajari tentang kaedah biasa dan kaedah pengendalian ralat penukaran jenis rentetan dalam MySQL. Fungsi ini boleh membantu kami menyelesaikan operasi penukaran jenis rentetan dengan cepat dan cekap serta meningkatkan kecekapan operasi pangkalan data.

Atas ialah kandungan terperinci penukaran jenis rentetan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!