PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Porównaj varchar z char

Wcale nie jest to błąd.
Przesyłanie literału ciągu znaków 'ab ' na character , oto co otrzymujesz:

a

Zgodnie z dokumentacją:

character bez specyfikatora długości jest równoważne z character(1) .

'a'::character(1) zostanie wtedy zmuszona do varchar (character varying ), aby przetestować równość z 'a'::varchar lub 'ab'::varchar i uzyskaj TRUE lub FALSE odpowiednio.

Zasadniczo nie ma prawie żadnego dobrego powodu, aby używać character w ogóle . To przestarzały typ, który przeżył swoją przydatność. Po prostu użyj text lub varchar .

  • Jakieś wady używania typu danych „tekst” do przechowywania ciągów?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. lokalne połączenie docker postgres pgadmin

  2. PostgreSQL, stan SQL:42601

  3. Transakcje nie działają dla mojej bazy danych MySQL

  4. Napisz szybką ramkę danych pandy do postgres

  5. Zarządzanie i monitorowanie bazy danych dla PostgreSQL 12