Oracle中Is NaN 和 IS Infinite 的用法

-- IS NaN 和 IS INFINIT,不要用 PL/SQL Developer 作此实验,可以用 SQL*Plus
-- 这两个东西怎样用? 其实就和 IS NULL 一样。 NULL 用于在数据库
-- 的所有数据类型的列中存储“不知道”,然后用 IS NULL 来判断。
-- 现在 NaN 和 'INF','-INF' 用于在 BINARY_DOUBL/BINARY_FLOAT 浮点类型
-- 的列中存储“不是数字”和“无限数字”,然后用 IS NaN 和 IS INFINIT 来判断。

DROP TABLE float_point_demo;

CREATE TABLE float_point_demo
  (dec_num NUMBER(10,2), bin_double BINARY_DOUBLE, bin_float BINARY_FLOAT);

INSERT INTO float_point_demo
  VALUES (1234.56,1234.56,1234.56);
 
Insert INTO float_point_demo
  VALUES (2,'NaN','NaN');

Insert INTO float_point_demo
  VALUES (3,'INF','-INF');

SELECT * FROM float_point_demo;

SELECT * FROM float_point_demo WHERE bin_float IS NaN;

SELECT * FROM float_point_demo WHERE bin_float IS INFINITE;

 

你可能感兴趣的:(Oracle中Is NaN 和 IS Infinite 的用法)