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

LPAD с водеща нула

Мисля, че трябва да помислите, че указанията, които прочетете, важат за това как трябва да се показва една фактура , а не как трябва да се съхранява в базата данни.

Когато числото се съхранява като INT, това е чисто число. Ако добавите нули отпред и го съхраните отново, това все още е същото число.

Можете да изберете полето NUMER, както следва, или да създадете изглед за тази таблица:

SELECT LPAD(NUMER,6,'0') AS NUMER
FROM ...

Или вместо да променяте данните, когато ги избирате от базата данни, помислете за допълване на числото с нули, когато го показвате и само когато го показвате.

Мисля, че изискването ви исторически данни да останат същите е спорен въпрос. Дори за исторически данни фактура с номер 001203 е същата като фактура с номер 1203.

Въпреки това, ако абсолютно трябва да го направите по начина, който описвате, тогава преобразуването в поле VARCHAR може да работи. Преобразуваните исторически данни могат да се съхраняват както са, а всички нови записи могат да бъдат допълнени до необходимия брой нули. Но не препоръчвам това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. В MySQL, как да копирате съдържанието на една таблица в друга таблица в същата база данни?

  2. Неочаквани резултати от MySQL:IN-клауза (число, 'низ') в колона с varchar

  3. ENUM (Enumeration) Тип данни в MySQL:Топ 12 факта и полезни съвети

  4. Динамично зареждане на данни при превъртане на div с помощта на php, mysql, jquery и ajax

  5. Функция MySQL COT() – Връща котангенса на число в MySQL