MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách TRIM () hoạt động trong MariaDB

Trong MariaDB, TRIM() là một hàm chuỗi tích hợp để xóa các ký tự khỏi đầu hoặc cuối chuỗi.

Theo mặc định, nó sẽ xóa các khoảng trắng ở đầu và cuối, nhưng bạn có thể chỉ định ký tự nào cần xóa, cũng như bạn muốn xóa ký tự đó từ bên nào.

Cú pháp

TRIM() chức năng có thể được sử dụng như sau:

 TRIM([remstr FROM] str) 

Hoặc:

 TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) 

Ở đâu str là chuỗi để xóa mọi dấu cách ở cuối và remstr là chuỗi cần loại bỏ.

Nếu remstr không được cung cấp, thì TRIM() xóa khoảng trắng.

Ví dụ

Đây là một ví dụ cơ bản:

 SELECT 
    '   Caribbean Island   ' AS "Untrimmed",
    TRIM('   Caribbean Island   ') AS "Trimmed"; 

Kết quả:

 + ------------------------ + ------------------ + | Untrimmed | Cắt tỉa | + ------------------------ + ------------------ + | Đảo Caribe | Đảo Caribe | + ------------------------ + ------------------ +  

Ví dụ này sử dụng cú pháp cơ bản nhất. Tất cả những gì chúng tôi đã làm là cung cấp chuỗi để cắt. Chúng tôi không chỉ định ký tự / s nào cần cắt và vì vậy tất cả các khoảng trắng đều được cắt bớt từ cả hai bên của chuỗi.

Chúng ta cũng có thể thấy rằng không gian bên trong chuỗi vẫn còn nguyên vẹn.

BOTH Đối số

Theo mặc định, TRIM() cắt xén cả hai mặt của chuỗi. Tuy nhiên, bạn có thể chỉ định rõ ràng BOTH nếu bạn muốn:

 SELECT 
    '   Caribbean Island   ' AS "Untrimmed",
    TRIM(BOTH FROM '   Caribbean Island   ') AS "Trimmed"; 

Kết quả:

 + ------------------------ + ------------------ + | Untrimmed | Cắt tỉa | + ------------------------ + ------------------ + | Đảo Caribe | Đảo Caribe | + ------------------------ + ------------------ +  

Chúng tôi nhận được kết quả tương tự như ví dụ trước.

LEADING Đối số

Chỉ định LEADING giới hạn hoạt động cắt chỉ ở phần đầu của chuỗi:

 SELECT 
    '   Caribbean Island   ' AS "Untrimmed",
    TRIM(LEADING FROM '   Caribbean Island   ') AS "Trimmed"; 

Kết quả:

 + ------------------------ + --------------------- + | Untrimmed | Cắt tỉa | + ------------------------ + --------------------- + | Đảo Caribe | Đảo Caribe | + ------------------------ + --------------------- + 

Chúng ta có thể thấy rằng các khoảng trắng vẫn tồn tại ở phía bên phải của chuỗi đã được cắt bớt. Chỉ phần bên trái bị cắt.

TRAILING Đối số

Chỉ định TRAILING giới hạn hoạt động cắt chỉ ở phần đầu của chuỗi:

 SELECT 
    '   Caribbean Island   ' AS "Untrimmed",
    TRIM(TRAILING FROM '   Caribbean Island   ') AS "Trimmed"; 

Kết quả:

 + ------------------------ + --------------------- + | Untrimmed | Cắt tỉa | + ------------------------ + --------------------- + | Đảo Caribe | Đảo Caribe | + ------------------------ + --------------------- + 

Lần này, chỉ có phần bên phải được cắt. Dấu cách vẫn tồn tại ở bên trái của chuỗi đã cắt bớt.

Chỉ định một chuỗi để cắt

Dưới đây là một ví dụ về việc chỉ định ký tự nào cần cắt:

 SELECT 
    '...mountain...' AS "Untrimmed",
    TRIM('.' FROM '...mountain...') AS "Trimmed"; 

Kết quả:

 + ---------------- + ---------- + | Untrimmed | Cắt | + ---------------- + ---------- + | ... núi ... | núi | + ---------------- + ---------- + 

Nó không nhất thiết phải là một ký tự. Bạn có thể chỉ định bất kỳ chuỗi nào để cắt:

 SELECT 
    TRIM('.' FROM '.+.mountain.+.') AS "1",
    TRIM('.+' FROM '.+.mountain.+.') AS "2",
    TRIM('+.' FROM '.+.mountain.+.') AS "3",
    TRIM('.+.' FROM '.+.mountain.+.') AS "4"; 

Kết quả:

 + -------------- + -------------- + -------------- + - --------- + | 1 | 2 | 3 | 4 | + -------------- + -------------- + -------------- + - -------- + | + .mountain. + | .mountain. +. | . +. núi. | núi | + -------------- + -------------- + -------------- + - -------- + 

Bạn thậm chí có thể cắt bớt một phần của từ nếu muốn:

 SELECT TRIM('moun' FROM 'mountain'); 

Kết quả:

 + ------------------------------ + | TRIM ('moun' TỪ 'núi') | + ------------------------------ + | tain | + ------------------------------ + 

Chúng tôi cũng có thể sử dụng BOTH , LEADINGTRAILING đối số khi chỉ định chuỗi để cắt.

Ví dụ:

 SELECT 
    TRIM(BOTH '.' FROM '...mountain...') AS "Both",
    TRIM(LEADING '.' FROM '...mountain...') AS "Leading",
    TRIM(TRAILING '.' FROM '...mountain...') AS "Trailaing"; 

Kết quả:

 + ---------- + ------------- + ------------- + | Cả hai | Dẫn đầu | Trailaing | + ---------- + ------------- + ------------- + | núi | núi ... | ... núi | + ---------- + ------------- + ------------- + 

Đối số rỗng

Nếu được cung cấp null đối số, kết quả là null :

 SELECT TRIM(null); 

Kết quả:

 + ------------ + | TRIM (null) | + ------------ + | KHÔNG | + ------------ + 

Chế độ Oracle

Khi không đang chạy ở chế độ Oracle, nếu kết quả trống (tức là nó có độ dài bằng 0) thì kết quả là một chuỗi trống.

Tuy nhiên, khi chạy ở chế độ Oracle, kết quả là null .

Đây là chế độ mặc định (tức là không trong chế độ Oracle):

 SELECT TRIM(''); 

Kết quả:

 + ---------- + | TRIM ('') | + ---------- + | | + ---------- + 

Bây giờ, hãy chuyển sang chế độ Oracle:

 SET SQL_MODE=ORACLE; 

Và chạy lại mã:

 SELECT TRIM(''); 

Kết quả:

 + ---------- + | TRIM ('') | + ---------- + | KHÔNG | + ---------- + 

Ngoài ra còn có một cách khác để làm điều này. Thay vì chuyển sang chế độ Oracle, bạn có thể sử dụng TRIM_ORACLE() như tên hàm.

Hãy chuyển về chế độ mặc định:

 SET SQL_MODE=DEFAULT; 

Và bây giờ hãy chạy TRIM_ORACLE() :

 SELECT TRIM_ORACLE(''); 

Kết quả:

 + ----------------- + | TRIM_ORACLE ('') | + ----------------- + | NULL | + ----------------- + 

Thiếu đối số

Đang gọi TRIM() không có đối số dẫn đến lỗi:

 SELECT TRIM(); 

Kết quả:

 ERROR 1064 (42000):Bạn có lỗi trong cú pháp SQL của mình; kiểm tra hướng dẫn sử dụng tương ứng với phiên bản máy chủ MariaDB của bạn để biết cú pháp phù hợp để sử dụng gần ')' tại dòng 1 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách MICROSECOND () hoạt động trong MariaDB

  2. Cách cài đặt và bảo mật MariaDB trên CentOS 8

  3. Cách SQRT () hoạt động trong MariaDB

  4. Cách UPDATEXML () hoạt động trong MariaDB

  5. MariaDB JSON_REPLACE () Giải thích