- vừa được xem lúc

Một số hàm hữu ích của MySQL

0 0 36

Người đăng: Le Thanh

Theo Viblo Asia

Giới thiệu

Với anh em developer chúng ta, có rất nhiều cách để chúng ta có thể thao tác và xử lý với database, query để lấy được dữ liệu cần thiết rồi xử lý tiếp bằng ngôn ngữ lập trình, sử dụng các function mà thư viện backend chúng ta đang làm hỗ trợ,.... Nhưng có thể bạn chưa biết là MySQL cũng đã cung cấp cho chúng ta một số functión rất hữu ích để giúp chúng ta xử lý dữ liệu dễ dàng hơn, hãy cùng điểm qua một số những functions hay ho sau đây nhé.

FIND_IN_SET

Trả về vị trí của chuỗi trong danh sách chuỗi được phân tách bằng dấu phẩy.

Cú pháp

FIND_IN_SET( string, string_list )

string: Chuỗi cần tìm.

string_list: Danh sách các giá trị chuỗi được phân tách bằng dấu phẩy cần tìm kiếm.

Ví dụ:

mysql> SELECT FIND_IN_SET('d', 'a,b,c,d,e,f');
Ket qua: 4 mysql> SELECT FIND_IN_SET('B', 'a,b,c,d,e,f');
Ket qua: 2 mysql> SELECT FIND_IN_SET('h', 'a,b,c,d,e,f,g,h');
Ket qua: 8

TRIM

Hàm TRIM loại bỏ tất cả các ký tự được chỉ định từ đầu hoặc cuối chuỗi.

Cú pháp

TRIM( [ leading | trailing | both ] [ trim_character FROM ] string )

leading: Không bắt buộc. Loại bỏ trim_character từ phía trước của chuỗi.

trailing: Không bắt buộc. Loại bỏ trim_character khỏi cuối chuỗi.

both: Không bắt buộc. Các ký tự sẽ được loại bỏ khỏi chuỗi. Nếu tham số này bị bỏ qua, nó sẽ xóa các ký tự khoảng trắng khỏi chuỗi.

string: Các chuỗi để cắt.

Lưu ý:

  • Nếu bạn không chỉ định giá trị cho tham số đầu tiên (LEADING, TRAILING, BOTH), hàm TRIM sẽ mặc định là BOTH và loại bỏ trim_character khỏi cả mặt trước và cuối chuỗi.

  • Nếu bạn không chỉ định trim_character, hàm TRIM sẽ mặc định ký tự sẽ bị xóa dưới dạng ký tự khoảng trắng.

Ví dụ:

SELECT TRIM(LEADING ' ' FROM ' viblo.asia ');

Ket qua: 'viblo.asia '

SELECT TRIM(TRAILING ' ' FROM ' viblo.asia ');

Ket qua: ' viblo.asia'

SELECT TRIM(BOTH ' ' FROM ' viblo.asia ');

Ket qua: 'viblo.asia'

SELECT TRIM(' ' FROM ' viblo.asia ');

Ket qua: 'viblo.asia'

COALESCE

Hàm COALEScE sẽ trả về giá trị khác NULL đầu tiên trong một danh sách

Cú pháp:

COALESCE( expression1, expression2, ... expression_n )

  • Ví dụ: *

`SELECT COALESCE(null, null, null, 'A', 'B');

Kết quả: 'A'

SELECT COALESCE('A', 'B', null, 'C', 'D');

Kết quả: 'A'

SELECT COALESCE(null, 1, 2, 3, null, 4);

Kết quả: 1

FIELD

Hàm FIELD trả về vị trí của một giá trị trong một list các giá trị khác.

Cú pháp:

FIELD( value, val1, val2, val3, ... )

Trong đó value là giá trị cần xác định vị trí. Val1.... là danh sách giá trị được tìm kiếm.

Ví dụ:

SELECT FIELD('B', 'a', 'b', 'c', 'd', 'e', 'f');

Kết quả: 2

SELECT FIELD(15, 10, 20, 15, 40);

Result: 3

SELECT FIELD('c', 'a', 'b');

Kết quả: 0

STRCMP

Hàm STRCMP kiểm tra xem 2 chuỗi có giống nhau hay không

Cú pháp:

STRCMP(string1, string2)

Chú ý:

  • Nếu string1 giống với string2 hàm này sẽ trả về kết quả = 0
  • Nếu string1 nhỏ hơn string2 hàm trả về kết quả = -1

Ví dụ:

SELECT STRCMP('welcome', 'welcome');

Kết quả: 0

SELECT STRCMP('welcome', 'hello world');

Kết quả: -1

SELECT STRCMP('some thing', 'com');

Kết quả: 1

REPEAT

Hàm REPEAT lặp lại một chuỗi số lần xác định.

Cú pháp:

REPEAT(string, number)

string: chuỗi để lặp lại

number: số lần lặp lại chuỗi

Lưu ý: Nếu number nhỏ hơn 1, hàm REPEAT sẽ trả về một chuỗi trống.

Ví dụ:

SELECT REPEAT('VIBLO', 3);

Ket qua: 'VIBLOVIBLOVIBLO'

SELECT REPEAT(' ', 5);

Ket qua: ' '

SELECT REPEAT('viblo.asia', 0);

Ket qua: ''

Lời kết

Đây là một số function mà mình nghĩ nó sẽ hữu ích (trong 1 đống các function có sẵn của MySQL). Hy vọng là nó cũng giúp ích cho mọi người.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Index trong Mysql và cách sử dụng

Một số database là một cấu trúc dữ liệu để cải thiện tốc độ của các hoạt động trong một bảng. Trong khi tạo index, nó cần được xem xét rằng các cột đó sẽ được sử dụng để thực hiện các truy vấn SQL và tạo ra một hoặc nhiều chỉ số trên các cột đó là gì.

0 0 32

- vừa được xem lúc

Tạo ER Diagram của một Database bằng MySQL Workbench

Trong số chúng ta ai cũng đều đã từng trải qua một thời sinh viên tràn ngập đồ án này, đồ án kia đúng không? Mình cũng đã từng có một thời như thế Mà chuyên ngành chúng ta là công nghệ thông tin thì làm việc với Database trong mỗi đồ án là điều không thể thiếu rồi. Chuyện sẽ chẳng có gì to tát cho đ

0 0 49

- vừa được xem lúc

Window Functions trong MySQL, Nâng cao và cực kì hữu dụng (Phần II).

Chào mọi người, lại là mình đây, ở phần trước mình đã giới thiệu với mọi người về Window Functions Phần I. Nếu chưa rõ nó là gì thì mọi người nên đọc lại trước nha, để nắm được định nghĩa và các key words, tránh mắt chữ O mồm chứ A vì phần này mình chủ yếu sẽ thực hành với các Window Functions.

0 0 90

- vừa được xem lúc

Window Functions trong MySQL, Nâng cao và cực kì hữu dụng (Phần I).

Chào mọi người, mình mới tìm hiểu đc topic Window Functions cá nhân mình cảm thấy khá là hay và mình đánh giá nó là phần nâng cao. Vì ít người biết nên Window Functions thấy rất ít khi sử dụng, thay vì đó là những câu subquery dài dằng dặc như tin nhắn nhắn cho crush, và người khác đọc hiểu được câu

0 0 897

- vừa được xem lúc

Mysql index strategy

Trong Mysql, index hỗ trợ việc tìm kiếm các rows theo từng giá trị của các columns trong bảng trở nên nhanh chóng. Việc tìm kiếm sẽ phải scan toàn bộ table nếu các column trong câu query không được đánh index một cách thích hợp. . .

0 0 50

- vừa được xem lúc

CRUD Nodejs với mysql

Mở Đầu. Xin chào các bạn tiếp tục với series Nodejs cơ bản, bài hôm nay mình sẽ tiếp tục làm thêm các chức năng xem chi tiết và sửa và xóa sản phẩm.

0 0 64