Dalam contoh ini, stop_sequence disimpan sebagai Varchar, tanpa konversi, Anda akan memiliki stop_sequence dalam urutan berikut. 1, 10, 11, 12, dst
Mengapa menggunakan tips itu?
Sunting. Saya menulis tip ini pada tahun 2015 dan menurut saya ini tidak memiliki kasus penggunaan nyata selain menunjukkan bagaimana PHP mengonversi string menjadi int secara internal
Anda dapat membaca lebih lanjut tentang
Cara lain untuk melakukan konversi tipe
Di PHP, Anda dapat menggunakan fungsi intval[] atau melemparkan variabel Anda dengan [int]
$myVar = "13";
var_dump[$myVar]; // string '13' [length=2]
$myVar= intval[$myVar];
var_dump[$myVar]; // int 13
$myVar = "13";
var_dump[$myVar]; // string '13' [length=2]
$myVar= [int]$myVar;
var_dump[$myVar]; // int 13
Dalam SQL, Anda dapat menggunakan fungsi CAST[]
SELECT * FROM stop_times LEFT JOIN stops ON stop_times.stop_id=stops.stop_id WHERE stop_times.trip_id=2755013 ORDER BY CAST[stop_times.stop_sequence AS UNSIGNED INTEGER] ASC
_ Halo kawan-kawan. Saya mencoba mengonversi variabel yaitu varchar menjadi int dalam klausa where, tetapi setiap kali saya mencoba, saya mendapatkan pesan kesalahan. 'Konversi gagal saat mengonversi nilai varchar 'Total Number of Seats' ke tipe data int. '
ada yang bisa bantu saya??
terima kasih
Apa yang telah saya coba
pilih * dari [ pilih pembuat sebagai 'Pembuat', nama sebagai 'Nama', ketik 'Jenis', tanggal_mulai sebagai 'Tanggal Mulai', tanggal_akhir sebagai 'Tanggal Akhir', model sebagai 'Model', JENIS KASUS KAPAN 'SEMPIT' LALU
Mengembalikan nilai kode ASCII dari karakter paling kiri dari string str. Mengembalikan 0 jika str adalah string kosong. Mengembalikan NULL jika str adalah NULL
mysql> SELECT ASCII['2']; -> 50 mysql> SELECT ASCII[2]; -> 50 mysql> SELECT ASCII['dx']; -> 100
Lihat juga fungsi ORD[ ].
ORD[str]Jika karakter paling kiri dari string str adalah karakter multi-byte, kembalikan kode untuk karakter tersebut, yang dihitung dari nilai kode ASCII dari karakter penyusunnya menggunakan rumus ini. [[kode ASCII byte pertama]*256+[kode ASCII byte kedua]][*256+kode ASCII byte ketiga. ]. Jika karakter paling kiri bukan karakter multi-byte, kembalikan nilai yang sama dengan fungsi ASCII[ ].
mysql> SELECT ORD['2']; -> 50CONV[N,dari_basis,ke_basis]
Mengonversi angka di antara basis angka yang berbeda. Mengembalikan representasi string dari angka N, dikonversi dari basis from_base ke basis to_base. Mengembalikan NULL jika ada argumen NULL. Argumen N ditafsirkan sebagai bilangan bulat, tetapi dapat ditentukan sebagai bilangan bulat atau string. Basis minimum adalah 2 dan basis maksimum adalah 36. Jika to_base adalah bilangan negatif, N dianggap sebagai bilangan bertanda. Jika tidak, N diperlakukan sebagai tidak bertanda tangan. CONV bekerja dengan presisi 64-bit
mysql> SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'BIN[N]
Mengembalikan representasi string dari nilai biner N, dengan N adalah angka longlong [BIGINT]. Ini setara dengan CONV[N,10,2]. Mengembalikan NULL jika N adalah NULL
mysql> SELECT BIN[12]; -> '1100'OCT[N]
Mengembalikan representasi string dari nilai oktal N, dengan N adalah bilangan longlong. Ini setara dengan CONV[N,10,8]. Mengembalikan NULL jika N adalah NULL
mysql> SELECT OCT[12]; -> '14'HEX[N_atau_S]
Jika N_OR_S adalah angka, kembalikan representasi string dari nilai heksadesimal N, dengan N adalah angka longlong [BIGINT]. Ini setara dengan CONV[N,10,16]
Jika N_OR_S adalah string, kembalikan string heksadesimal N_OR_S di mana setiap karakter dalam N_OR_S dikonversi menjadi 2 digit heksadesimal. Ini adalah kebalikan dari string 0xff
mysql> SELECT HEX[255]; -> 'FF' mysql> SELECT HEX["abc"]; -> 616263 mysql> SELECT 0x616263; -> "abc"CHAR[N,. ]
CHAR[ ] menafsirkan argumen sebagai bilangan bulat dan mengembalikan string yang terdiri dari karakter yang diberikan oleh nilai kode ASCII dari bilangan bulat tersebut. Nilai NULL dilewati
mysql> SELECT CHAR[77,121,83,81,'76']; -> 'MySQL' mysql> SELECT CHAR[77,77.3,'77.3']; -> 'MMM'_CONCAT[str1,str2,. ]
Mengembalikan string yang dihasilkan dari penggabungan argumen. Mengembalikan NULL jika ada argumen NULL. Mungkin memiliki lebih dari 2 argumen. Argumen numerik dikonversi ke bentuk string yang setara
mysql> SELECT CONCAT['My', 'S', 'QL']; -> 'MySQL' mysql> SELECT CONCAT['My', NULL, 'QL']; -> NULL mysql> SELECT CONCAT[14.3]; -> '14.3'_CONCAT_WS[pemisah, str1, str2,. ]
CONCAT_WS[ ] adalah singkatan dari CONCAT With Separator dan merupakan bentuk khusus dari CONCAT[ ]. Argumen pertama adalah pemisah untuk argumen lainnya. Pemisah dapat berupa string serta argumen lainnya. Jika pemisah adalah NULL, hasilnya adalah NULL. Fungsi akan melewati NULL dan string kosong apa pun, setelah argumen pemisah. Pemisah akan ditambahkan di antara string yang akan digabungkan
mysql> SELECT CONCAT_WS[",","First name","Second name","Last Name"]; -> 'First name,Second name,Last Name' mysql> SELECT CONCAT_WS[",","First name",NULL,"Last Name"]; -> 'First name,Last Name'_LENGTH[str] , OCTET_LENGTH[str] , CHAR_LENGTH[str] , CHARACTER_LENGTH[str]
Mengembalikan panjang string str
mysql> SELECT LENGTH['text']; -> 4 mysql> SELECT OCTET_LENGTH['text']; -> 4
Perhatikan bahwa untuk CHAR_LENGTH[ ] dan CHARACTER_LENGTH[ ], karakter multi-byte hanya dihitung sekali
BIT_LENGTH[str]Mengembalikan panjang string str dalam bit
mysql> SELECT ORD['2']; -> 500LOCATE[substr,str] , POSITION[substr IN str]
Mengembalikan posisi kemunculan pertama substring substr dalam string str. Mengembalikan 0 jika substr tidak ada di str
mysql> SELECT ORD['2']; -> 501
Fungsi ini aman multi-byte. Di MySQL3. 23 fungsi ini tidak peka huruf besar-kecil, sedangkan pada 4. 0 hanya case-insensitive jika salah satu argumen adalah string biner
LOKASI[substr,str,pos]Mengembalikan posisi kemunculan pertama substring substr dalam string str, mulai dari posisi pos. Mengembalikan 0 jika substr tidak ada di str
mysql> SELECT ORD['2']; -> 502
Fungsi ini aman multi-byte. Di MySQL3. 23 fungsi ini tidak peka huruf besar-kecil, sedangkan pada 4. 0 hanya case-insensitive jika salah satu argumen adalah string biner
INSTR[str,substr]Mengembalikan posisi kemunculan pertama substring substr dalam string str. Ini sama dengan bentuk dua argumen dari LOCATE[], kecuali bahwa argumennya ditukar
mysql> SELECT ORD['2']; -> 50_3
Fungsi ini aman multi-byte. Di MySQL3. 23 fungsi ini tidak peka huruf besar-kecil, sedangkan pada 4. 0 hanya case-insensitive jika salah satu argumen adalah string biner
LPAD[str,len,padstr]Mengembalikan string str, padding kiri dengan string padstr hingga str panjangnya karakter len. Jika str lebih panjang dari len' maka akan disingkat menjadi karakter len
mysql> SELECT ORD['2']; -> 504RPAD[str,len,padstr]
Mengembalikan string str, diisi kanan dengan string padstr hingga str panjangnya karakter len. Jika str lebih panjang dari len' maka akan disingkat menjadi karakter len
mysql> SELECT ORD['2']; -> 505LEFT[str,len]
Mengembalikan karakter len paling kiri dari string str
mysql> SELECT ORD['2']; -> 506
Fungsi ini aman multi-byte
KANAN[str,len]Mengembalikan karakter len paling kanan dari string str
mysql> SELECT ORD['2']; -> 50_7
Fungsi ini aman multi-byte
SUBSTRING[str,pos,len] , SUBSTRING[str DARI pos UNTUK len] , MID[str,pos,len]Mengembalikan karakter len substring panjang dari string str, mulai dari posisi pos. Bentuk varian yang menggunakan FROM adalah sintaks ANSI SQL92
mysql> SELECT ORD['2']; -> 508
Fungsi ini aman multi-byte
SUBSTRING[str,pos] , SUBSTRING[str DARI pos]Mengembalikan substring dari string str mulai dari posisi pos
mysql> SELECT ORD['2']; -> 50_9
Fungsi ini aman multi-byte
SUBSTRING_INDEX[str,delim,hitung]Mengembalikan substring dari string str sebelum menghitung kemunculan delim pembatas. Jika hitungan positif, semua yang ada di sebelah kiri pembatas akhir [dihitung dari kiri] dikembalikan. Jika hitungan negatif, semua yang ada di sebelah kanan pembatas akhir [dihitung dari kanan] dikembalikan
mysql> SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'_0
Fungsi ini aman multi-byte
LTRIM[str]Mengembalikan string str dengan karakter spasi utama dihapus
mysql> SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'1RTRIM[str]
Mengembalikan string str dengan karakter spasi tambahan dihapus
mysql> SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'_2
Fungsi ini aman multi-byte
POTONG[[[KEDUANYA. TERKEMUKA. TRAILING] [remstr] DARI] str]Mengembalikan string str dengan semua prefiks remstr dan/atau sufiks dihapus. Jika tidak ada penentu BOTH, LEADING atau TRAILING yang diberikan, BOTH diasumsikan. Jika remstr tidak ditentukan, spasi dihilangkan
mysql> SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'_3
Fungsi ini aman multi-byte
SOUNDEX[str]Mengembalikan string soundex dari str. Dua senar yang bunyinya hampir sama harus memiliki senar soundex yang identik. String soundex standar panjangnya 4 karakter, tetapi fungsi SOUNDEX[ ] mengembalikan string panjang yang berubah-ubah. Anda dapat menggunakan SUBSTRING[ ] pada hasilnya untuk mendapatkan string soundex standar. Semua karakter non-alfanumerik diabaikan dalam string yang diberikan. Semua karakter alfa internasional di luar rentang A-Z diperlakukan sebagai vokal
mysql> SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'4SPASI[N]
Mengembalikan string yang terdiri dari N karakter spasi
mysql> SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'5REPLACE[str,from_str,to_str]
Mengembalikan string str dengan semua kemunculan string from_str diganti dengan string to_str
mysql> SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'_6
Fungsi ini aman multi-byte
ULANGI[str, hitung]Mengembalikan string yang terdiri dari string str berulang kali. Jika hitung SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'7MUNDUR[str]
Mengembalikan string str dengan urutan karakter dibalik
mysql> SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'_8
Fungsi ini aman multi-byte
INSERT[str,pos,len,newstr]Mengembalikan string str, dengan substring dimulai pada posisi pos dan karakter len lama digantikan oleh string newtr
mysql> SELECT CONV["a",16,2]; -> '1010' mysql> SELECT CONV["6E",18,8]; -> '172' mysql> SELECT CONV[-17,10,-18]; -> '-H' mysql> SELECT CONV[10+"10"+'10'+0xa,10,10]; -> '40'_9
Fungsi ini aman multi-byte
ELT[N,str1,str2,str3,. ]Mengembalikan str1 jika N = 1, str2 jika N = 2, dan seterusnya. Mengembalikan NULL jika N kurang dari 1 atau lebih besar dari jumlah argumen. ELT[ ] adalah komplemen dari FIELD[ ]
mysql> SELECT BIN[12]; -> '1100'0FIELD[str,str1,str2,str3,. ]
Mengembalikan indeks str di str1, str2, str3,. daftar. Mengembalikan 0 jika str tidak ditemukan. FIELD[ ] adalah komplemen dari ELT[ ]
mysql> SELECT BIN[12]; -> '1100'1FIND_IN_SET[str,strlist]
Mengembalikan nilai 1 ke N jika string str ada dalam daftar strlist yang terdiri dari N substring. Daftar string adalah string yang terdiri dari substring yang dipisahkan oleh , karakter. Jika argumen pertama adalah string konstan dan argumen kedua adalah kolom bertipe SET, fungsi FIND_IN_SET[ ] dioptimalkan untuk menggunakan aritmatika bit. Mengembalikan 0 jika str tidak ada di strlist atau jika strlist adalah string kosong. Mengembalikan NULL jika salah satu argumen adalah NULL. Fungsi ini tidak akan berfungsi dengan baik jika argumen pertama berisi a ,
mysql> SELECT BIN[12]; -> '1100'2MAKE_SET[bit,str1,str2,. ]
Mengembalikan satu set [string berisi substring yang dipisahkan oleh , karakter] yang terdiri dari string yang memiliki bit yang sesuai dalam set bit. str1 sesuai dengan bit 0, str2 ke bit 1, dll. string NULL di str1, str2,. tidak ditambahkan ke hasil
mysql> SELECT BIN[12]; -> '1100'3EXPORT_SET[bit, hidup, mati, [pemisah, [jumlah_bit]]]
Mengembalikan string di mana untuk setiap bit yang diatur dalam 'bit', Anda mendapatkan string 'on' dan untuk setiap reset bit Anda mendapatkan string 'off'. Setiap string dipisahkan dengan 'separator' [default ','] dan hanya 'number_of_bits' [default 64] dari 'bit' yang digunakan
mysql> SELECT BIN[12]; -> '1100'4LCASE[str] , RENDAH[str]
Mengembalikan string str dengan semua karakter diubah menjadi huruf kecil sesuai dengan pemetaan kumpulan karakter saat ini [standarnya adalah ISO-8859-1 Latin1]
mysql> SELECT BIN[12]; -> '1100'5
Fungsi ini aman multi-byte
UCASE[str] , UPPER[str]Mengembalikan string str dengan semua karakter diubah menjadi huruf besar sesuai dengan pemetaan kumpulan karakter saat ini [standarnya adalah ISO-8859-1 Latin1]
mysql> SELECT BIN[12]; -> '1100'_6
Fungsi ini aman multi-byte
LOAD_FILE[nama_berkas]Membaca file dan mengembalikan konten file sebagai string. File harus ada di server, Anda harus menentukan pathname lengkap ke file tersebut, dan Anda harus memiliki hak istimewa file. File harus dapat dibaca oleh semua orang dan lebih kecil dari max_allowed_packet