14
Oracle:
У null
литерала нет типа, но
null
может быть приведен к любому типу, и это может быть необходимо, когда
управление типом возврата decode
функции, например:
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
когда первый блок запроса включаетnull
null
значения, хранящиеся в базе данных, всегда имеют тип:
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, двоичный (0)
источник
select isnumeric(null)
= 0 ... интересноOracle это в каком-то смысле какой-то строковый тип.
Вот что ADO Reader говорит мне. Вот сценарий Powershell:
Что дает
Обратите внимание на строку
ProviderSpecificDataType: System.Data.OracleClient.OracleString
источник
Postgres:
источник