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

SQL - Защо да добавяте интервали, когато сравнявате знаци?

Вие обърквате различните типове герои и това, което се случва. Когато изпълните:

SELECT * from SOME_TABLE where CUSTOMER_NAME = 'Popeye '

Не се добавят интервали „към всеки ред в SOME_TABLE“. Единственият въпрос е ширината на резултатите. Тази ширина се задава от свойствата на колоните в SOME_TABLE, а не от това, което се появява в клаузата WHERE.

Ако вашето CUSTOMER_NAME е декларирано като стойност char(x), тогава низът трябва да има тази дължина. Да кажем, че е char(10) и му присвоявате „Попай“. Стойността има шест знака и това трябва да бъде подплатено до 10 по някакъв начин. SQL стандартът е да се постави от дясната страна, което прави стойността 'Popeye ' .

Ако искате низове с променлива дължина, използвайте varchar или varchar2.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция за извикване на VBA чрез VBA и ADO

  2. Текуща обща сума по групирани записи в табл

  3. Има ли някаква хеш функция в PL/SQL?

  4. Преброяване не. на записи от множество таблици; Oracle DB

  5. Как да покажа дата в различен формат в oracle