Masih bahas Array,
Misal kita punya data seperti ini :
AA-111;AB-123;AC-456;BH-100;TT-200
BH-111;TT-123;AA-456;AB-100;AC-200
TT-123;PK-456;BH-100;AB-200;AA-123
Nah, kita mau ambil 3 angka di belakang TT, masalah nya adalah, posisi TT yang tidak konsisten, kadang dia ada dibelakang, kadang di tengah, kadang di depan, nah gimana cara nya?
1. Replace / hapus Char TT :
SELECT REPLACE(KOLOM_1, 'TT', '') REPLACE_TT FROM NAMA_TABLE
2. Kita buat subquery proses nomer 1 :
SELECT CASE
WHEN KOLOM_1 NOT LIKE '%TT%' THEN ''
WHEN KOLOM_1 IS NULL THEN ''
WHEN SUBSTRING(REPLACE_TT, 1, 1) = '-' THEN SUBSTRING(KOLOM_1,4,3)
ELSE SUBSTRING(REPLACE(REPLACE_TT, SUBSTRING(REPLACE_TT, 0, CHARINDEX(';-',REPLACE_TT,0)),''),3,3)
END NAMA_KOLOM
FROM(SELECT REPLACE(KOLOM_1, 'TT', '') REPLACE_TT FROM NAMA_TABLE) A
Sekian.