PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Прехвърляне на низ към число, интерпретиране на нулев или празен низ като 0

Видовете стойности трябва да бъдат последователни; обединяването на празния низ до 0 означава, че след това не можете да го сравните с null в nullif . Така че всяко от тези работи:

# create table tests (orig varchar);
CREATE TABLE

# insert into tests (orig) values ('1'), (''), (NULL), ('0');
INSERT 0 4


# select orig, cast(coalesce(nullif(orig,''),'0') as float) as result from tests;
 orig | result 
------+--------
    1 |      1
      |      0
      |      0
    0 |      0
(4 rows)


# select orig, coalesce(cast(nullif(orig,'') as float),0) as result from tests;
 orig | result 
------+--------
 1    |      1
      |      0
      |      0
 0    |      0
(4 rows)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преглеждайте клиентите на 12-месечна база и проверете дали клиентът не е поръчвал през последните 12 месеца

  2. Как да получите достъп до процедурата, която връща setof refcursor от PostgreSQL в Java?

  3. Go sql - подготвен обхват на изявление

  4. Как да търсите enum в списък с низове чрез заявка postgresql?

  5. Postgres не може да слуша конкретен IP адрес