Apakah ada yang tahu yang setara dengan TSQL ini dalam bahasa MySQL?
Saya mencoba menggunakan huruf besar pada huruf pertama dari setiap entri.
UPDATE tb_Company SET CompanyIndustry = UPPER(LEFT(CompanyIndustry, 1))
+ SUBSTRING(CompanyIndustry, 2, LEN(CompanyIndustry))
mysql
string
capitalize
Dagu
sumber
sumber
Jawaban Vincents yang sangat baik untuk Huruf Pertama Huruf Besar berfungsi sangat baik untuk huruf pertama hanya kapitalisasi dari seluruh string kolom ..
TAPI bagaimana jika Anda ingin Huruf Besar Huruf Pertama dari SETIAP kata dalam string kolom tabel?
mis .: "Sekolah Menengah Abbeville"
Saya belum menemukan jawaban untuk ini di Stackoverflow. Saya harus mengumpulkan beberapa jawaban yang saya temukan di Google untuk memberikan solusi yang solid untuk contoh di atas. Ini bukan fungsi asli tetapi fungsi yang dibuat pengguna yang memungkinkan MySQL versi 5+.
Jika Anda memiliki status pengguna Super / Admin di MySQL atau memiliki instalasi mysql lokal di komputer Anda sendiri, Anda dapat membuat FUNCTION (seperti prosedur tersimpan) yang berada di database Anda dan dapat digunakan di semua kueri SQL di masa mendatang di bagian mana pun dari db.
Fungsi yang saya buat memungkinkan saya untuk menggunakan fungsi baru yang saya sebut "UC_Words" seperti fungsi bawaan MySQL sehingga saya dapat memperbarui kolom lengkap seperti ini:
Untuk memasukkan kode fungsi, saya mengubah pembatas standar MySQL (;) saat membuat fungsi, dan kemudian mengatur ulang kembali ke normal setelah skrip pembuatan fungsi. Saya juga secara pribadi ingin hasilnya ada di UTF8 CHARSET juga.
Pembuatan fungsi =
Ini berfungsi memperlakukan mengeluarkan huruf besar pertama pada beberapa kata dalam string.
Dengan asumsi nama pengguna login MySQL Anda memiliki hak yang cukup - jika tidak, dan Anda tidak dapat menyiapkan DB sementara di mesin pribadi Anda untuk mengonversi tabel Anda, tanyakan kepada penyedia hosting bersama apakah mereka akan mengatur fungsi ini untuk Anda.
sumber
CHARSET utf8_general_ci
harus diubah menjadiCHARSET utf8
(setidaknya pada 5.7)Illegal mix of collations for operation 'concat'
jadi saya pikir cukup perbaiki charset atau hapus dan jadikan default.Anda dapat menggunakan kombinasi dari
UCASE()
,MID()
danCONCAT()
:sumber
SELECT CONCAT(UCASE(MID('TEST',1,1)),MID('TEST',2));
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_mid
sumber
http://forge.mysql.com/tools/tool.php?id=201
Jika ada lebih dari 1 kata dalam kolom, maka ini tidak akan berfungsi seperti yang ditunjukkan di bawah ini. UDF yang disebutkan di atas dapat membantu dalam kasus seperti itu.
Atau mungkin yang ini akan membantu ...
https://github.com/mysqludf/lib_mysqludf_str#str_ucwords
sumber
Ini bekerja dengan baik.
sumber
sumber
BUAT FUNGSI:
GUNAKAN FUNGSI
sumber
sumber
Ini seharusnya bekerja dengan baik:
sumber
sumber
Pernyataan di atas dapat digunakan untuk CAPS huruf pertama dan sisanya sebagai huruf kecil.
sumber
Uso algo simples assim;)
sumber