Oracle max (число) возвращает ноль - PullRequest
0 голосов
/ 25 сентября 2019

Я подключаюсь к существующей базе данных, и у этой базы данных есть таблица, определенная следующим образом:

Name            Null?    Type           
--------------- -------- -------------- 
M_ID                     NUMBER         
USER_ID                  VARCHAR2(100)  
LOCATION                 VARCHAR2(10)   
AGENT                    VARCHAR2(9)    
LNAME                    VARCHAR2(50)   
FNAME                    VARCHAR2(50)   
USER_TYPE                VARCHAR2(20)   
BUSS_TYPE                VARCHAR2(50)  

Когда я делаю выбор, я вижу что-то вроде этого

95879713  ab1212    BGG  0010   Smith   Tylor     null    null
95879714  c21322    BAD  0010   Doe     Jane      null    null

ТеперьЕсли я сделаю выбор по M_ID без максимального выбора, я получу значение обратно.Однако, если я сделаю выбор по M_ID с MAX, он вернет ноль .. т.е.

select MAX(M_ID) from Table_X;
M_ID
(null)

пример:

select M_ID from Table_X;

*M_ID*
12000
12001
15690
...

но если я увидел, что в нем есть нулевые значения

select M_ID from Table_X order by M_ID desc;

M_ID
(null)
(null)
(null)
...

Теперь странно то, что я просто пытаюсь выбратьвсе эти нулевые M_ID я бы ничего не получил.

select * from Table_X where M_ID is null or M_ID = '';

no result returned...

Как это возможно?Обратите внимание, что я видел наибольшее значение

706307090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

в таблице, но не уверен, что это было причиной.Есть ли способ исправить это?

1 Ответ

0 голосов
/ 26 сентября 2019

Как другие люди уже упоминали некоторые проверки.Кроме того, проверьте, является ли (нулевое), которое вы здесь пишете, действительно значением NULL или пробелом?Вы проверяете пустое значение в своем запросе здесь: select * from Table_X where M_ID is null or M_ID = '';.Это выглядит маловероятным и невозможным, если значения NULL не возвращаются с предложением IS NULL.Попробуйте это:

select * from Table_X where M_ID is null or M_ID = ' ';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...