MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Thêm Zeros hàng đầu trong SQL

Dưới đây là các ví dụ về việc thêm số 0 đứng đầu vào một số trong SQL, sử dụng các DBMS khác nhau.

Oracle

Oracle có TO_CHAR(number) cho phép chúng ta thêm các số 0 ở đầu vào một số. Nó trả về kết quả của nó dưới dạng một chuỗi ở định dạng được chỉ định.

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

Kết quả:

007

0 phần tử định dạng là những gì xuất ra các số không ở đầu. Nếu không muốn các số 0 ở đầu, chúng tôi có thể sử dụng 9 .

Đây là so sánh giữa 09 để chứng minh ý tôi:

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

Kết quả:

             0              9 
______________ ______________ 
 001,234.46       1,234.46    

G dành cho dấu phân tách nhóm và D là cho dấu phân cách thập phân. Xem danh sách các phần tử định dạng số này để biết danh sách đầy đủ.

Oracle cũng có LPAD() hàm cho phép chúng ta thêm một số bằng các số 0 ở đầu (hoặc bất kỳ ký tự nào khác). Hãy xem 2 cách để định dạng một số với Zeros hàng đầu trong Oracle để làm ví dụ.

PostgreSQL

PostgreSQL cũng có TO_CHAR() và nó hoạt động giống như hàm cùng tên của Oracle:

SELECT TO_CHAR(7, '000');

Kết quả:

007

Và đây là so sánh giữa 09 :

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

Kết quả:

      0      |      9      
-------------+-------------
  001,234.46 |    1,234.46

Xem Mẫu &Công cụ sửa đổi mẫu cho Định dạng số trong Postgres để biết danh sách đầy đủ các mẫu mẫu có thể được sử dụng với chức năng này trong PostgreSQL.

Giống như Oracle, PostgreSQL cũng có LPAD() chức năng cho phép chúng tôi đệm số bằng các số không ở đầu. Hãy xem 2 cách để thêm Zeros hàng đầu trong PostgreSQL để làm ví dụ.

MySQL

MySQL có LPAD() hàm cho phép chúng ta đệm phần bên trái của một chuỗi hoặc số với ký tự hoặc chuỗi ký tự đã chọn của chúng ta. Do đó, chúng ta có thể sử dụng nó để đệm số của mình bằng các số không:

SELECT LPAD(7, 3, 0);

Kết quả:

007

May mắn thay, chúng ta có thể chuyển số dưới dạng số, vì vậy trước tiên không cần chuyển nó thành chuỗi.

Xem Cách thêm Zeros hàng đầu vào một số trong MySQL để biết thêm.

MariaDB

Giống như MySQL, MariaDB cũng có LPAD() hàm cho phép chúng tôi đệm phần bên trái của chuỗi hoặc số bằng ký tự hoặc chuỗi ký tự đã chọn của chúng tôi:

SELECT LPAD(7, 3, 0);

Kết quả:

007

Và giống như với MySQL, chúng ta có thể chuyển số dưới dạng số, vì vậy trước tiên không cần chuyển đổi nó thành chuỗi.

Xem Cách tạo một số với Zeros hàng đầu trong MariaDB để biết thêm.

Máy chủ SQL

SQL Server có FORMAT() cho phép chúng tôi định dạng số bằng chuỗi định dạng:

SELECT FORMAT(7, '000');

Kết quả:

007

Đây là dấu phân tách nhóm và dấu phân tách thập phân:

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

Kết quả:

1,234.00

Xem Thêm Zeros Dẫn đầu &Theo dõi trong SQL Server để biết thêm.

SQLite

SQLite có PRINTF() hàm có thể được sử dụng để thêm các số không ở đầu một số:

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

Kết quả:

007

Xem Cách định dạng số với Zeros hàng đầu trong SQLite để được giải thích.

Cập nhật :SQLite 3.38.0 (phát hành ngày 22 tháng 2 năm 2022) được đổi tên thành PRINTF() hàm thành FORMAT() . PRINTF() gốc tên được giữ lại làm bí danh để tương thích ngược.

Vì vậy, ví dụ trên có thể được thay đổi thành thế này:

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

Kết quả:

007

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB forEach ()

  2. Làm thế nào để tổng hợp theo ngày khi một dấu thời gian đầy đủ được đưa ra trong khuôn khổ tổng hợp?

  3. truy vấn trong mongo Shell đưa ra thuộc tính SyntaxError:thiếu:sau

  4. Làm cách nào để truy cập MongoDB của Meteor từ một ứng dụng khách khác, trong khi Meteor đang chạy?

  5. Đường dẫn tổng hợp MongoDB chậm sau bước đối sánh đầu tiên