Skip to main content

Menghilangkan Non Numeric untuk Field Numeric

Menyebalkan sekali nih project, masa' target dan realisasi yang seharusnya angka bisa diisi karakter, apa kata dunia?. yang pertama terpikir adalah mengecek data yang diisikan itu berjenis numeric atau bukan. Mulailah browsing-browsing, dan ketemu nih bentuk dari function untuk mengecek data tsb.

katakanlah kita buat satu function, bernama cek_numeric, ini nih codenya di oracle


CREATE FUNCTION CEK_NUMERIC(P_DATA IN VARCHAR2) RETURN VARCHAR2
    IS
        V_TIPE VARCHAR(11);
    BEGIN
        SELECT CASE WHEN REGEXP_LIKE(TRIM(P_DATA), '^-?[[:digit:],.]*$') 
         THEN 'NUMERIC' 
         ELSE 'NON-NUMERIC' END INTO V_TIPE
        FROM DUAL;
        
        IF V_TIPE = 'NUMERIC' THEN
            RETURN 'TRUE';
        ELSE
            RETURN 'FALSE';
        END IF;
        
END CEK_NUMERIC;

bagi Anda yang masih awam, saya terangkan deh, mumpung masih senang ngetik nih
CREATE FUNCTION CEK_NUMERIC(P_DATA IN VARCHAR2) RETURN VARCHAR2
 artinya adalah, kita akan membuat function dengan nama cek_numeric dengan data inputan bernama p_data bertipe varchar2, dan mengembalikan nilai / return bertipe varchar2 saat dieksekusi.
IS V_TIPE VARCHAR(11);
 adalah pendeklarasian variable dalam oracle, jika Anda memiliki lebih dari 1 variable, masukkan di sini semuanya ya.
begin dan end adalah awal dan akhir eksekusi kita.
SELECT CASE WHEN REGEXP_LIKE(TRIM(P_DATA)... dst
adalah mengecek p_data yang diinputkan, serta titik atau koma jika diketahui, akan menghasilkan 'NUMERIC', jika lainnya hasilkan 'NON-NUMERIC' dan simpan (INTO) ke variable V_TIPE.
IF V_TIPE = 'NUMERIC' THEN RETURN 'TRUE';... dst
jika v_tipe bernilai NUMERIC, maka kembalikan nilai TRUE. dst, jika ada pertanyaan masalah ini silakan kirim di comment saja ya..



Nah, selanjutnya adalah mengubah nilai yang bukan character kita hapus dan mengambil nilai number saja.

CREATE FUNCTION GANTI_NUMERIC(P_DATA IN VARCHAR2) RETURN NUMBER
    IS
        V_HASIL NUMBER;
    BEGIN
        
        IF CEK_NUMERIC(P_DATA) = 'TRUE' THEN
            V_HASIL := REPLACE(P_DATA, '.', ',');
        ELSE        
            SELECT REPLACE (TRANSLATE (P_DATA, TRANSLATE (P_DATA, '1234567890', ' '),'*'),'*') 
            INTO V_HASIL FROM DUAL;
        END IF;
        RETURN V_HASIL;
    END GANTI_NUMERIC;


nah, saya hanya akan menerangkan yang berwarna biru saja ya.
IF CEK_NUMERIC(P_DATA) = 'TRUE' THEN V_HASIL := REPLACE(P_DATA, '.', ',');
jika kita mengeksekusi function cek_numeric yang kita telah buat di atas bernilai 'TRUE' maka tidak perlu diproses, tapi simpan data di v_hasil yang nanti akan kita kembalikan karena khan data sudah dalam bentuk numeric.

SELECT REPLACE (TRANSLATE (P_DATA, TRANSLATE (P_DATA, '1234567890', ' '),'*'),'*') 
INTO V_HASIL FROM DUAL;
Nah, jika cek_numeric bernilai 'FALSE' maka kita ubah selain 12345...0 menjadi '' atau tanpa character. dan simpan hasilnya dalam v_hasil dan kita kembalikan.

Nah, akhirnya selesai juga. Terima kasih

Sumber : http://datawarehouse.ittoolbox.com/groups/technical-functional/informatica-l/how-can-we-remove-all-types-of-non-numeric-and-special-charecters-from-a-character-field-which-is-having-numaric-data-3473701

Comments

Popular posts from this blog

Istilah Makanan, Minuman, dll dalam MOS / OSPEK

Bagi Adik-adik yang baru masuk ke sekolah atau universitas baru. Mungkin mendapatkan tugas yang sulit dari kakak pembina pada saat MOS / OSPEK.

Nah, sebagai permulaan, dijelasin dulu ya, apa itu MOS dan OSPEK. Baru nanti kita melanjutkan ke Istilah yang ditunggu.

Masa Orientasi Siswa atau disingkat MOS atau sering disebut juga Masa Pengenalan Lingkungan Sekolah (disingkat MPLS) merupakan sebuah kegiatan yang umum dilaksanakan di sekolah guna menyambut kedatangan siswa baru.
Masa orientasi lazim kita jumpai hampir di tiap sekolah, mulai dari tingkat SMP, SMA hingga perguruan tinggi. Tak pandang itu sekolah negeri maupun swasta, semua menggunakan cara itu untuk mengenalkan almamater pada siswa barunya.
MOS dijadikan sebagai ajang untuk melatih ketahanan mental, disiplin dan mempererat tali persaudaraan. MOS juga sering dipakai sebagai sarana perkenalan siswa terhadap lingkungan baru di sekolah tersebut. Baik itu perkenalan dengan sesama siswa baru, kakak kelas, guru hingga karyawan lainn…

Pusar Udel Berair atau Sakit dan Berbau

Sudah lama nih saya mencari artikel tentang sakit pusar atau pusar berbau. Dulu saat awal pertama pusar sakit, rasanya tidak karuan, setelah periksa ke dokter katanya ada infeksi, akhirnya diberilah saya antibiotik, obat penghilang rasa sakit, dan satu obat alergi obat. Namun setelah rasa sakit itu hilang, sekarang kok masih tersisa bau yang dahsyat dari perut saya, kata istri saya seperti bau terasi. Baiklah, tanpa panjang lebar, silakan disimak artikel dari http://christinarwen.blogspot.com.  Pusar atau udel jarang sekali mendapat perhatian untuk dibersihkan, padahal menjaga kebersihan area pusar sama pentingnya dengan mencuci tangan atau kaki. Beberapa kondisi bahkan membuat pusar berbau busuk dan tidak sedap. Apa saja?
Pusar atau secara medis disebut umbilikus pada dasarnya merupakan bekas luka setelah kelahiran. Kebanyakan orang tidak menaruh perhatian khusus pada pusar. Tetapi ada keadaan tertentu yang mengharuskan Anda memperhatikan pusar secara penuh. Salah …

Pertanyaan Calon Mertua Sebelum Lamaran

Terima kasih kepada agan AaGuru yant telah membagi artikelnya di kaskus. Silakan disimak

Biasanya setelah anda sudah cukup lama berkenalan atau pacaran dengan doi anda, dan camer anda sudah merasa bahwa hubungan anda harus dipikirkan mau kemana nantinya, anda akan di interview sama camer anda pada suatu waktu untuk mengetahui seberapa serius anda dengan anaknya.

Sikap dan gerak tubuh yang diperlukan :

1. Sikap dan gerak tubuh anda sama halnya anda melamar kerjaan, jadi harus penuh keyakinan dan optimis
2. Saat pertama kali datang dan bertemu, sebaiknya anda memberikan salam dan cium tangan mereka, karena kita adalah orang timur yg senantiasa menjunjung budaya dan keramah tamahan serta menghormati karena kelak mereka akan menjadi orangtua kita juga
3. Posisi duduk harus tegak, ini menandakan agan penuh keyakinan
4. Jangan sering gerak2in anggota bdan, krn ini menandakan kalo agan gugup
5. Menjadilah pendengar yg baik, ketika camer berbicara tataplah dengan sebaik2nya
6. Jangan pernah …