Różne źródła (np. Wikipedia , PSOUG ) stwierdzają, że Oracle null
nie ma typu. Czy to prawda?
Co z innymi RDBMS?
Wyrocznia:
null
Dosłowny nie posiada typ, ale
null
można rzutować na dowolny typ, co może być konieczne, gdy
kontrolowanie typu zwracanej decode
funkcji, np .:
select decode('A','B',to_char(null),'A','1') from dual;
DECODE('A','B',TO_CHAR(NULL),'A','1')
-------------------------------------
1
select decode('A','B',to_number(null),'A','1') from dual;
DECODE('A','B',TO_NUMBER(NULL),'A','1')
---------------------------------------
1
union
gdy pierwszy blok zapytania zawieranull
null
wartości przechowywane w bazie danych zawsze mają typ:
create table t(n integer, s varchar(10));
insert into t values(null, null);
select decode('A','B',n,'A','1') from t;
DECODE('A','B',N,'A','1')
-------------------------
1
select decode('A','B',s,'A','1') from t;
DECODE('A','B',S,'A','1')
-------------------------
1
SQL Server, int
MySQL, binarny (0)
źródło
select isnumeric(null)
= 0 ... ciekaweWyrocznia to w pewnym sensie niektóre typem łańcucha .
Tak mówi mi ADO Reader. oto skrypt Powershell:
To daje
Zwróć uwagę na linię
ProviderSpecificDataType: System.Data.OracleClient.OracleString
źródło
postgres:
źródło