Câu trả lời:
Oracle:
Nghĩa nullđen không có một loại, nhưng
null có thể được đúc thành bất kỳ loại nào, và điều này có thể cần thiết khi
kiểm soát kiểu trả về của decodehàm, vd:
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')
--------------------------------------- 
                                      1unionkhi khối truy vấn đầu tiên bao gồmnull nullCác giá trị được lưu trữ trong cơ sở dữ liệu luôn có một loại:
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')
-------------------------
1Máy chủ SQL, int
SELECT NULL AS foo INTO dbo.bar
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'bar'
DROP TABLE dbo.barMySQL, nhị phân (0)
CREATE TABLE mydb.foo (select NULL AS bar);
EXPLAIN mydb.foo;
DROP TABLE mydb.foo;select isnumeric(null)= 0 ... thú vị
                    Oracle là một số loại chuỗi .
Đó là những gì ADO Reader nói với tôi. đây là tập lệnh Powershell:
[System.Reflection.Assembly]::LoadWithPartialName("System.Data.OracleClient") 
$ConnectionString = "Data Source=myTNS;User ID=myUSER;Password=myPassword" 
$conn=new-object System.Data.OracleClient.OracleConnection 
$conn.ConnectionString=$ConnectionString 
$conn.Open() 
$sql = "Select NULL xx from DUAL"
$cmd=new-object System.Data.OracleClient.OracleCommand($sql,$conn)
$r = $cmd.ExecuteReader()
$r.GetSchemaTable() | % { $_
}        Điều đó mang lại
ColumnName               : XX
ColumnOrdinal            : 0
ColumnSize               : 0
NumericPrecision         : 0
NumericScale             : 0
DataType                 : System.String
ProviderType             : 22
IsLong                   : False
AllowDBNull              : True
IsAliased                : 
IsExpression             : 
IsKey                    : 
IsUnique                 : 
BaseSchemaName           : 
BaseTableName            : 
BaseColumnName           : 
ProviderSpecificDataType : System.Data.OracleClient.OracleStringLưu ý dòng
Nhà cung cấpSpecificDataType : System.Data.OracleClient.OracleString
bưu điện:
create table foo as select null as bar;
WARNING:  column "bar" has type "unknown"
DETAIL:  Proceeding with relation creation anyway.
postgres=> \d foo
 Column |  Type   | Modifiers
--------+---------+-----------
 bar    | unknown |