Rumah >pangkalan data >Oracle >Bagaimanakah Oracle menentukan sama ada data adalah jenis angka?

Bagaimanakah Oracle menentukan sama ada data adalah jenis angka?

WBOY
WBOYasal
2022-04-07 11:27:5822574semak imbas

Kaedah: 1. Gunakan "trim(translate(column,'0123456789',' ')) is NULL;" untuk menentukan sama ada data ialah nombor 2. Gunakan "regexp_like(column,'^[ 0-9 ] [0-9]$');" Tentukan sama ada data ialah nombor.

Bagaimanakah Oracle menentukan sama ada data adalah jenis angka?

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.

Bagaimana oracle menentukan sama ada data adalah jenis angka?

pilih*daripada nama jadual di mana Dalam perkembangan biasa kita, kita mungkin menghadapi masalah sedemikian, iaitu untuk menentukan sama ada lajur tertentu terdiri sepenuhnya daripada nombor. Kita semua tahu bahawa Oracle tidak memberikan kita fungsi siap sedia, jadi berdasarkan pengalaman saya, saya telah meringkaskan dua kaedah yang berkesan (nama lajur: lajur, nama jadual: jadual):

1. Gunakan fungsi terjemah trim:

Kodnya adalah seperti berikut:

select * from table where trim(translate(column,'0123456789',' ')) is NULL;

Apa yang perlu diperhatikan di sini ialah parameter ketiga daripada fungsi terjemah ialah ruang, bukan '', kerana jika parameter ketiga terjemah kosong, ia akan sentiasa kembali '', yang tidak dapat mencapai tujuan menapis nombor tulen.

Dengan cara ini, semua nombor ditukar kepada ruang Jika semuanya terdiri daripada nombor, maka apabila dipangkas, ia secara semula jadi akan kosong, mencapai matlamat di atas. Sudah tentu, jika anda ingin mengecualikan item kosong, anda boleh menulis seperti ini:

Kodnya adalah seperti berikut:

select * from table where trim(translate(nvl(column,'x'),'0123456789',' ')) is NULL;--x 表示任何'0-9'以外的字符。

Gunakan fungsi regexp_like:

Kodnya adalah seperti berikut :

select * from table where regexp_like(column,'^[0-9]+[0-9]$');

Perlu diperhatikan di sini bahawa fungsi regexp_like tidak tersedia dalam semua versi Oracle.

Regexp_like ialah salah satu daripada empat fungsi yang Oracle menyokong ungkapan biasa: regexp_like, regexp_replace, regexp_instr, regexp_substr Untuk mendapatkan maklumat yang lebih terperinci dalam hal ini, sila beri perhatian kepada dokumen yang berkaitan.

Tutorial yang disyorkan: "Tutorial Video Oracle"

Atas ialah kandungan terperinci Bagaimanakah Oracle menentukan sama ada data adalah jenis angka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn