MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Добавете водещи нули в SQL

По-долу са дадени примери за добавяне на водеща нула към число в SQL, като се използват различни СУБД.

Оракул

Oracle има TO_CHAR(number) функция, която ни позволява да добавяме водещи нули към число. Той връща резултата си като низ в посочения формат.

SELECT TO_CHAR(7, '000')
FROM DUAL; 

Резултат:

007

0 Елементът format е това, което извежда водещите нули. Ако не искаме водещи нули, бихме могли да използваме 9 .

Ето сравнение между 0 и 9 за да демонстрирам какво имам предвид:

SELECT 
    TO_CHAR(1234.456, '000G000D00') AS "0",
    TO_CHAR(1234.456, '999G999D99') AS "9"
FROM DUAL; 

Резултат:

 0 9 ______________ ______________ 001 234,46 1 234,46 

G е за разделителя на групата и D е за десетичния разделител. Вижте този списък с елементи на числови формат за пълен списък.

Oracle също има LPAD() функция, която ни позволява да добавим число с водещи нули (или всеки друг знак). Вижте 2 начина за форматиране на число с водещи нули в Oracle за пример.

PostgreSQL

PostgreSQL също има TO_CHAR() функция и работи като едноименната функция на Oracle:

SELECT TO_CHAR(7, '000'); 

Резултат:

007

И ето сравнение между 0 и 9 :

SELECT 
    TO_CHAR(1234.456, '000G000D00') AS "0",
    TO_CHAR(1234.456, '999G999D99') AS "9"; 

Резултат:

<преди> 0 | 9 -------------+------------ 001 234,46 | 1 234,46

Вижте Шаблони и модификатори за числово форматиране в Postgres за пълен списък с шаблони, които могат да се използват с тази функция в PostgreSQL.

Подобно на Oracle, PostgreSQL също има LPAD() функция, която ни позволява да добавяме числа с водещи нули. Вижте 2 начина за добавяне на водещи нули в PostgreSQL за пример.

MySQL

MySQL има LPAD() функция, която ни позволява да добавим лявата част на низ или число с избрания от нас знак или поредица от знаци. Следователно можем да го използваме, за да допълним нашия номер с нули:

SELECT LPAD(7, 3, 0); 

Резултат:

007

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

Вижте Как да добавите водещи нули към число в MySQL за повече.

MariaDB

Подобно на MySQL, MariaDB също има LPAD() функция, която ни позволява да добавим лявата част на низ или число с избрания от нас знак или поредица от знаци:

SELECT LPAD(7, 3, 0); 

Резултат:

007

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

Вижте Как да добавите число с водещи нули в MariaDB за повече.

SQL сървър

SQL Server има FORMAT() функция, която ни позволява да форматираме числа с помощта на форматиращ низ:

SELECT FORMAT(7, '000'); 

Резултат:

007

Ето го с разделител на група и десетичен разделител:

SELECT FORMAT(1234, '0,000.00'); 

Резултат:

1234,00

Вижте Добавяне на водещи и крайни нули в SQL Server за повече.

SQLite

SQLite има PRINTF() функция, която може да се използва за добавяне на водещи нули към число:

SELECT PRINTF('%03d', 7); 

Резултат:

007

Вижте Как да форматирате числа с водещи нули в SQLite за обяснение.

Актуализиране :SQLite 3.38.0 (издадена на 22 февруари 2022 г.) преименува PRINTF() функция към FORMAT() . Оригиналният PRINTF() името се запазва като псевдоним за обратна съвместимост.

Така че горният пример може да бъде променен на това:

SELECT FORMAT('%03d', 7); 

Резултат:

007

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB, изпълнение на заявка чрез регулярен израз в индексирани полета

  2. Mongodb :$in оператор срещу много единични заявки

  3. Индекс в MongoDB

  4. Какъв е максималният брой параметри, предавани на $in заявка в MongoDB?

  5. Как се представят полетата на MongoDB GeoJSON в схема Mongoose?