Oracle
 sql >> база данни >  >> RDS >> Oracle

Определяне дали данните за полето в Oracle са от тип число

Определяне дали данните за полето в Oracle са от тип число

Проблем

Искате да ги заявите само от полето varchar2 или char, съдържащо числови данни, без друг знак.

Решение

Създайте функция, за да определите това:

Create or Replace Function is_number (iNumber in Varchar2)
    Return Varchar2
is
nVal Number; 
Begin
   nVal := To_Number(iNumber);
  -- if there is no error 
   Return('TRUE');
Exception
  when others then
   -- error during conversion 
   Return('FALSE');
end;

Използвайте в заявка:

Select Empno, Ename, dummychar
   from emp
where is_number(dummychar) = 'TRUE';

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Форматиране на UUID низ без REGEXP_REPLACE и PL/SQL

  2. SQL командата не е приключила правилно?

  3. Автоматично генериране на файл с отговори

  4. Как да дефинирате първичен ключ за автоматично увеличение в Oracle

  5. Бързо разделяне на дялове