我在oracle中,使用了下列语句:
select cast(jlxh as int) ,zyh,brxm from mrqc_sxtx;
select cast(jlxh as verchar(20)) ,zyh,brxm from mrqc_sxtx;
都可以!但是,在oracle中,是没有int 和verchar类型的,这个为什么还可以成功呢?!
select cast(jlxh as int) ,zyh,brxm from mrqc_sxtx;
select cast(jlxh as verchar(20)) ,zyh,brxm from mrqc_sxtx;
都可以!但是,在oracle中,是没有int 和verchar类型的,这个为什么还可以成功呢?!
存在int是为了保持与ansi兼容
varchar与varchar2同义,但oracle推荐使用varchar2,
因为有可能以后的版本中varchar被定义成与varchar2不同
select convert(varchar(20) ,jlxh) ,zyh,brxm from mrqc_sxtx;
提示缺少表达式
select convert(int ,jlxh) ,zyh,brxm from mrqc_sxtx;
提示int无效的标识符
同时
select cast(jlxh as decimal) ,zyh,brxm from mrqc_sxtx;
也是可以通过的,oracle中不会也有decimal吧
convert(string,from_set[,to_set])
decimal支持的,
oracle支持很多ansi的类型,如:
CHARACTER
CHAR
NCHAR
VARCHAR
NUMERIC
DECIMAL
DEC
INTEGER
INT
SMALLINT
FLOAT
DOUBLE
REAL