Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jakie są różnice między wartościami Null, Zero i Blank w SQL?

Zero to wartość liczbowa. Jest to określony o precyzyjnych właściwościach matematycznych. (Możesz na nim robić arytmetykę...)

NULL oznacza brak jakiejkolwiek wartości. Nie możesz z nim nic zrobić poza testowaniem tego.

Puste jest źle zdefiniowane. Dla różnych ludzi oznacza różne rzeczy w różnych kontekstach. Na przykład:

  • Ktoś może mieć na myśli ciąg znaków o zerowej długości, tj. taki, który nie zawiera żadnych znaków ('' ).
  • Ktoś może mieć na myśli ciąg znaków o długości niezerowej, składający się wyłącznie ze znaków niedrukowalnych (SPACJA, TAB itp.). A może składa się tylko z jednego znaku SPACE.
  • W niektórych kontekstach (gdzie znak i łańcuch są różnymi typami), ktoś może oznaczać niedrukowalną wartość znaku.
  • Ktoś może nawet mieć na myśli „wszystko, co nie pojawia się podczas drukowania lub wyświetlania”.

Chodzi o to, że „pusty” nie ma jednego, dobrze zdefiniowanego znaczenia. Przynajmniej nie w (ojczystej) angielskiej terminologii informatycznej. Prawdopodobnie najlepiej tego unikać... jeśli chcesz, aby inni specjaliści IT zrozumieli, co masz na myśli . (A jeśli ktoś inny używa tego terminu i nie jest to oczywiste z kontekstu, poproś go, aby powiedział dokładnie, co ma na myśli!)

Nie możemy powiedzieć nic ogólnie znaczącego o tym, jak reprezentowane są ZERO / NULL / BLANK, ile zajmują pamięci ani nic w tym rodzaju. Wszystko, co możemy powiedzieć, to to, że są one reprezentowane w różny sposób .... i że rzeczywista reprezentacja jest zależna od implementacji i kontekstu .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nielegalna mieszanka błędów sortowania w MySql

  2. Czy istnieje coś analogicznego do metody split() w mySql?

  3. SQLDependency w bazie danych MariaDB/MySQL

  4. Yii2:Kartik Gridview suma kolumny w stopce

  5. MySQL JOIN zwraca NULL pól