Tidak ada yang namanya kolom yang dihitung di MySQL.
Jika Anda ingin memformat beberapa nilai untuk mempercepat pencarian indeks, Anda mungkin harus menggunakan beberapa pemicu. Faktanya, saya menjawab pertanyaan yang hampir sama pagi ini:lihat https://stackoverflow.com /a/18047511/2363712 untuk contoh serupa.
Dalam kasus Anda, itu akan mengarah pada sesuatu seperti itu:
CREATE TABLE `table_a`(`column_1` VARCHAR(255), ... ,
`column_1_fmt` VARCHAR(255),
INDEX(`column_1_fmt`));
CREATE TRIGGER ins_table_a BEFORE INSERT ON `table_a`
FOR EACH ROW
SET NEW.`column_1_fmt` = REPLACE(NEW.column_1, '-', '');
CREATE TRIGGER upd_table_a BEFORE UPDATE ON `table_a`
FOR EACH ROW
SET NEW.`column_1_fmt` = REPLACE(NEW.column_1, '-', '');
Sekarang Anda akan menggunakan column_1_fmt
untuk mencari nilai/bergabung pada nilai yang memiliki format yang diperlukan.
Tentang Anda kebutuhan khusus (menghapus tanda hubung -- dari semacam nomor seri/referensi?). Mungkin Anda harus membalikkan masalahnya. Simpan nilai tersebut sebagai bentuk kanonik (tanpa tanda hubung). Dan tambahkan tanda hubung yang diperlukan di SELECT
waktu.