Я подключаюсь к существующей базе данных, и у этой базы данных есть таблица, определенная следующим образом:
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
в таблице, но не уверен, что это было причиной.Есть ли способ исправить это?