Saya memiliki kueri di bawah ini dan perlu melakukan cast id
kevarchar
Skema
create table t9 (id int, name varchar (55));
insert into t9( id, name)values(2, 'bob');
Apa yang saya coba
select CAST(id as VARCHAR(50)) as col1 from t9;
select CONVERT(VARCHAR(50),id) as colI1 from t9;
tapi tidak berhasil. Mohon saran.
Jawaban:
Anda akan memerlukan
cast
atauconvert
sebagaiCHAR
tipe data, tidak adavarchar
tipe data yang Anda dapat mentransmisikan / mengonversi data ke:Lihat SQL berikut - beraksi - di SQL Fiddle :
Selain fakta bahwa Anda mencoba mengonversi ke tipe data yang salah, sintaks yang Anda gunakan untuk
convert
salah. Theconvert
Fungsi menggunakan berikut manaexpr
yang Anda kolom atau nilai:atau
Kueri asli Anda memiliki sintaks mundur.
sumber
concat()
untuk melakukan konversi belum tentu begitu intuitif. Saya lebih suka kode saya jelas dan itu tidak masuk akal.Anda mendapatkannya karena
VARCHAR
bukan tipe yang valid untuk ditransmisikan. Menurut dokumen MySQL ( http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html#function_cast ) Anda hanya dapat mentransmisikan ke:Saya pikir taruhan terbaik Anda adalah menggunakan
CHAR
.sumber
Iya
adalah postgresql, tetapi mySql tidak mengizinkannya!
jalan pintas di mySql:
sumber
Saya tidak memiliki MySQL, tetapi ada RDBMS (Postgres, antara lain) tempat Anda dapat menggunakan peretasan
Rangkaian melakukan konversi implisit.
sumber
Aku memecahkan masalah untuk membandingkan bilangan bulat Kolom xa
varchar
kolom denganwhere CAST(Column_name AS CHAR CHARACTER SET latin1 ) collate latin1_general_ci = varchar_column_name
sumber
gunakan:
sumber
Saya akan menjawab ini secara umum, dan sangat berterima kasih kepada kontributor di atas.
Saya menggunakan MySQL di MySQL Workbench. Saya memiliki masalah serupa saat mencoba menggabungkan a
char
danint
bersama menggunakanGROUP_CONCAT
metode ini. Singkatnya, apa yang berhasil untuk saya adalah ini:katakanlah Anda
char
adalah 'c' danint
'i', jadi, kueri menjadi:...GROUP_CONCAT(CONCAT(c,' ', CAST(i AS CHAR))...
sumber
Harus bisa melakukan hal seperti ini juga:
sumber