http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm xử lý chuỗi SQL Hàm xử lý chuỗi SQL sử dụng để thao tác với chuỗi Bảng liệt kê chi tiết hàm xử lý chuỗi quan trọng SQL Tên hàm Miêu tả Hàm ASCII() Trả giá trị số ký tự cực tả (bên trái nhất) Hàm BIN() Trả biểu diễn chuỗi tham số Hàm BIT_LENGTH() Trả độ dài (số bit) tham số Hàm CHAR_LENGTH() Trả số ký tự tham số Hàm CHAR() Trả ký tự cho số nguyên truyền Hàm CHARACTER_LENGTH() Giống hàm CHAR_LENGTH() Hàm CONCAT_WS() Viết tắt Concatenate With Separator, mẫu hàm CONCAT() đặc biệt Hàm CONCAT() Nối chuỗi Hàm CONV() Chuyển đổi số sang số khác Hàm ELT() Trả chuỗi mục Hàm EXPORT_SET() Trả chuỗi với bit thiết lập bits, bạn lấy chuỗi on, với không thiết lập bits, bạn lấy chuỗi off Các bit tham số bits tính từ phải http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com qua trái Hàm FIELD() Trả mục (vị trí) tham số dãy tham số Hàm FIND_IN_SET() Trả mục (vị trí) tham số tham số thứ hai Hàm FORMAT() Trả số định dạng với vị trí sau dấu thập phân cho Hàm HEX() Trả biểu diễn chuỗi giá trị thuộc hệ số 16 Hàm INSERT() Chèn chuỗi vị trí cho với số ký tự xác định Hàm INSTR() Trả mục cho xuất chuỗi Hàm LCASE() Giống hàm LOWER() Hàm LEFT() Trả ký tự bên trái Hàm LENGTH() Trả độ dài (số byte) chuỗi Hàm LOAD_FILE() Tải file đặt tên Hàm LOCATE() Trả vị trí xuất chuỗi Hàm LOWER() Trả tham số kiểu chữ thường Hàm LPAD() Trả tham số chuỗi thêm vào bên trái với chuỗi cho http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm LTRIM() Xóa Leading space (theo dõi ví dụ để hiểu ý nghĩa leading space bạn chưa biết) Hàm MAKE_SET() Trả tập hợp chuỗi phân biệt dấu phảy mà có bit tương ứng tập hợp bit Hàm MID() Trả chuỗi phụ vị trí cho Hàm OCT() Trả biểu diễn chuỗi tham số thuộc hệ số Hàm OCTET_LENGTH() Giống hàm LENGTH() Hàm ORD() Nếu ký tự cực tả tham số ký tự biểu diễn nhiều byte, trả mã hóa ký tự Hàm POSITION() Giống hàm LOCATE() Hàm QUOTE() Lấy tham số để sử dụng lệnh SQL Hàm REGEXP Pattern matching (so khớp mẫu) sử dụng Regular Expression Hàm REPEAT() Lặp lại chuỗi với số lần cho Hàm REPLACE() Thay chuỗi cho xuất Hàm REVERSE() Đảo ngược ký tự chuỗi Hàm RIGHT() Trả ký tự bên phải Hàm RPAD() Phụ thêm chuỗi với số lần cho http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm RTRIM() Gỡ bỏ Trailing space Hàm SOUNDEX() Trả chuỗi soundex Hàm SOUNDS LIKE So sánh sound Hàm SPACE() Trả chuỗi gồm số khoảng trống cho Hàm STRCMP() So sánh hai chuỗi Hàm SUBSTRING_INDEX() Trả chuỗi từ chuỗi trước số lần xuất cho delimiter Hàm SUBSTRING(), SUBSTR() Trả chuỗi phụ xác định Hàm TRIM() Gỡ bỏ Leading Trailing space Hàm UCASE() Giống hàm UPPER() Hàm UNHEX() Chuyển đổi cặp ký số thập lục phân thành ký tự Hàm UPPER() Chuyển đổi thành chữ hoa Hàm ASCII(str) Trả giá trị số ký tự bên trái (cực tả) chuỗi str Trả str chuỗi trống Trả NULL str NULL Hàm ASCII() làm việc với ký tự có giá trị số từ tới 255 SQL> SELECT ASCII('2'); + -+ | ASCII('2') | + -+ http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp | 50 Copyright © vietjack.com | + -+ row in set (0.00 sec) SQL> SELECT ASCII('dx'); + -+ | ASCII('dx') | + -+ | 100 | + -+ row in set (0.00 sec) Hàm BIN(N) Trả biểu diễn chuỗi giá trị nhị phân N, với N số long BIGINT Hàm tương đương với CONV(N,10,2) Hàm trả NULL N NULL SQL> SELECT BIN(12); + -+ | BIN(12) | + -+ | 1100 | + -+ row in set (0.00 sec) Hàm BIT_LENGTH(str) Trả độ dài (số bit) chuỗi str SQL> SELECT BIT_LENGTH('text'); + -+ | BIT_LENGTH('text') | + -+ | 32 | + -+ row in set (0.00 sec) http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm CHAR(N, [USING ten_charset]) Hàm CHAR() thông dịch tham số N số nguyên trả chuỗi gồm ký tự cung cấp giá trị mã hóa số nguyên Các giá trị NULL bị bỏ qua SQL> SELECT CHAR(77,121,83,81,'76'); + -+ | CHAR(77,121,83,81,'76') | + -+ | SQL | + -+ row in set (0.00 sec) Hàm CHAR_LENGTH(str) Trả độ dài (số ký tự) chuỗi str Một ký tự biểu diễn nhiều byte đếm ký tự đơn Nghĩa là, với chuỗi chứa ký tự, ký tự có độ dài byte, hàm LENGTH() trả 10 hàm CHAR_LENGTH() trả SQL> SELECT CHAR_LENGTH("text"); + -+ | CHAR_LENGTH("text") | + -+ | | + -+ row in set (0.00 sec) Hàm CHARACTER_LENGTH(str) CHARACTER_LENGTH() giống hàm CHAR_LENGTH() Hàm CONCAT(str1,str2, ) Trả chuỗi kết việc nối chuỗi tham số Có thể có nhiều tham số Nếu tất tham số chuỗi nhị phân (non-binary), kết chuỗi nhị phân Nếu tham số bao gồm chuỗi nhị phân nào, kết chuỗi nhị phân Một tham số dạng số chuyển đổi thành dạng chuỗi tương đương Nếu bạn muốn tránh điều này, bạn sử dụng type cast tường minh, ví dụ sau: http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com SQL> SELECT CONCAT('My', 'S', 'QL'); + -+ | CONCAT('My', 'S', 'QL') | + -+ | SQL | + -+ row in set (0.00 sec) Hàm CONCAT_WS(separator,str1,str2, ) Hàm CONCAT_WS() viết tắt Concatenate With Separator dạng hàm CONCAT() đặc biệt Tham số Separator cho tham số lại Separator thêm vào chuỗi để nối chuỗi Separator chuỗi Nếu Separator NULL kết trả NULL SQL> SELECT CONCAT_WS(',','First name','Last Name' ); + -+ | CONCAT_WS(',','First name','Last Name' ) | + -+ | First name, Last Name | + -+ row in set (0.00 sec) Hàm CONV(N,tu_co_so,sang_co_so) Chuyển đổi số hệ số khác Trả chuỗi biểu diễn số N, chuyển đổi từ hệ số tu_co_so sang hệ số sang_co_so Trả NULL tham số NULL Tham số N thông dịch số nguyên, xác định số nguyên chuỗi Nếu sang_co_so số âm, N xem số có dấu Nếu khơng thì, N xem số không dấu Hàm CONV() làm việc với 64 bit SQL> SELECT CONV('a',16,2); + -+ | CONV('a',16,2) | + -+ | 1010 | + -+ http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com row in set (0.00 sec) Hàm ELT(N,str1,str2,str3, ) Hàm trả str1 N = 1, trả str2 N = 2, tiếp tục Trả NULL N nhỏ lớn số tham số Hàm ELT() bổ sung FIELD() SQL> SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo'); + -+ | ELT(1, 'ej', 'Heja', 'hej', 'foo') | + -+ | ej | + -+ row in set (0.00 sec) Hàm EXPORT_SET(bits,on,off[,separator[,so_luong_bit]]) Trả chuỗi với bit thiết lập bits, bạn lấy chuỗi on, với không thiết lập bits, bạn lấy chuỗi off Các bit tham số bits tính từ phải qua trái Các chuỗi thêm vào kết từ trái qua phải, phân biệt separator (theo mặc định dấu phảy) Số lượng bit nên xem xét cung cấp tham số so_luong_bit (mặc định 64) SQL> SELECT EXPORT_SET(5,'Y','N',',',4); + -+ | EXPORT_SET(5,'Y','N',',',4) | + -+ | Y,N,Y,N | + -+ row in set (0.00 sec) Hàm FIELD(str,str1,str2,str3, ) Trả mục (vị trí 1) str danh sách str1, str2, str3, … Trả str khơng tìm thấy SQL> SELECT FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo'); http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ | FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo') | + -+ | | + -+ row in set (0.00 sec) Hàm FIND_IN_SET(str,danh_sach_str) Trả giá trị dãy từ tới N chuỗi str danh sách chuỗi danh_sach_str chứa N chuỗi SQL> SELECT FIND_IN_SET('b','a,b,c,d'); + -+ | SELECT FIND_IN_SET('b','a,b,c,d') | + -+ | | + -+ row in set (0.00 sec) Hàm FORMAT(X,D) Định dạng số X định dạng '#,###,###.##', làm tròn D vị trí sau dấu phảy, trả kết dạng chuỗi Nếu D 0, kết khơng có dấu thập phân hay phần thập phân SQL> SELECT FORMAT(12332.123456, 4); + -+ | FORMAT(12332.123456, 4) | + -+ | 12,332.1235 | + -+ row in set (0.00 sec) Hàm HEX(So_hoac_Chuoi) Nếu So_hoac_Chuoi số, trả biểu diễn chuỗi giá trị thập lục phân N, với N số long BIGINT Hàm tương đương với hàm CONV(N,10,16) http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/sql/index.jsp Copyright © vietjack.com Nếu So_hoac_Chuoi chuỗi, trả biểu diễn chuỗi thập lục phân So_hoac_Chuoi với ký tự chuyển đổi thành hai ký số thập lục phân SQL> SELECT HEX(255); + -+ | HEX(255) | + -+ | FF | + -+ row in set (0.00 sec) SQL> SELECT 0x616263; + -+ | 0x616263 | + -+ | abc | + -+ row in set (0.00 sec) Hàm INSERT(str,pos,len,newstr) Trả chuỗi str, với chuỗi bắt đầu vị trí pos tới len thay với chuỗi newstr Trả chuỗi ban đầu giá trị tham số pos không nằm độ dài chuỗi Thay phần lại chuỗi từ vị trí pos giá trị tham số len không độ dài phần lại chuỗi Trả NULL tham số NULL SQL> SELECT INSERT('Quadratic', 3, 4, 'What'); + -+ | INSERT('Quadratic', 3, 4, 'What') | + -+ | QuWhattic | + -+ row in set (0.00 sec) http://vietjack.com/ Trang chia sẻ học online miễn phí Page 10 http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm INSTR(str,substr) Trả vị trí lần xuất chuỗi substr chuỗi str Hàm tương tự dạng hai tham số hàm LOCATE(), ngoại trừ việc thứ tự tham số bị đảo ngược SQL> SELECT INSTR('foobarbar', 'bar'); + -+ | INSTR('foobarbar', 'bar') | + -+ | | + -+ row in set (0.00 sec) Hàm LCASE(str) Hàm LCASE() giống hàm LOWER() Hàm LEFT(str,len) Trả ký tự có độ dài len bên trái chuỗi str, trả NULL tham số NULL SQL> SELECT LEFT('foobarbar', 5); + -+ | LEFT('foobarbar', 5) | + -+ | fooba | + -+ row in set (0.00 sec) Hàm LENGTH(str) Trả độ dài (số byte) chuỗi str Một ký tự biểu diễn byte đếm nhiêu byte Nghĩa là, với chuỗi chứa ký tự, ký tự có độ dài byte, hàm LENGTH() trả 10, hàm CHAR_LENGTH() trả SQL> SELECT LENGTH('text'); + -+ | LENGTH('text') | http://vietjack.com/ Trang chia sẻ học online miễn phí Page 11 http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ | | + -+ row in set (0.00 sec) Hàm LOAD_FILE(ten_file) Đọc file trả nội dung file dạng chuỗi Để sử dụng hàm này, file phải đặt Server Host, bạn phải xác định pathname đầy đủ tới file đó, bạn phải có quyền FILE File phải đọc tất người kích cỡ nhỏ max_allowed_packet byte Nếu file khơng tồn khơng thể đọc điều kiện trước khơng thỏa mãn, hàm trả NULL Như SQL 5.0.19, biến hệ thống character_set_filesystem điều khiển trình thơng dịch filename mà cung cấp dạng literal string (chuỗi hằng) SQL> UPDATE table_test -> SET blob_col=LOAD_FILE('/tmp/picture') -> WHERE id=1; Hàm LOCATE(substr,str), LOCATE(substr,str,pos) Cú pháp trả vị trí lần xuất chuỗi phụ substr chuỗi str Cú pháp thứ hai trả vị trí lần xuất chuỗi phụ substr chuỗi str, vị trí pos Trả substr không str SQL> SELECT LOCATE('bar', 'foobarbar'); + -+ | LOCATE('bar', 'foobarbar') | + -+ | | + -+ row in set (0.00 sec) Hàm LOWER(str) Trả chuỗi str với tất ký tự chuyển đổi thành chữ thường http://vietjack.com/ Trang chia sẻ học online miễn phí Page 12 http://vietjack.com/sql/index.jsp Copyright © vietjack.com SQL> SELECT LOWER('QUADRATICALLY'); + -+ | LOWER('QUADRATICALLY') | + -+ | quadratically | + -+ row in set (0.00 sec) Hàm LPAD(str,len,padstr) Trả chuỗi str, phụ thêm vào bên trái chuỗi padstr với len ký tự Nếu str dài len, giá trị trả bị rút gọn len ký tự SQL> SELECT LPAD('hi',4,'??'); + -+ | LPAD('hi',4,'??') | + -+ | ??hi | + -+ row in set (0.00 sec) Hàm LTRIM(str) Trả chuỗi str sau gỡ bỏ Leading space SQL> SELECT LTRIM(' barbar'); + -+ | LTRIM(' barbar') | + -+ | barbar | + -+ row in set (0.00 sec) Hàm MAKE_SET(bits,str1,str2, ) Trả tập giá trị (một chuỗi chứa chuỗi phân biệt dấu chấm phảy) gồm chuỗi mà có bit tương ứng tập bits Tham số str1 tương ứng với bit 0, str2 tương ứng bit 1, tiếp tục Các giá trị NULL str1, str2, … không phụ thêm vào kết http://vietjack.com/ Trang chia sẻ học online miễn phí Page 13 http://vietjack.com/sql/index.jsp Copyright © vietjack.com SQL> SELECT MAKE_SET(1,'a','b','c'); + -+ | MAKE_SET(1,'a','b','c') | + -+ | a | + -+ row in set (0.00 sec) Hàm MID(str,pos,len) Hàm MID(str,pos,len) giống hàm SUBSTRING(str,pos,len) Hàm OCT(N) Trả biểu diễn chuỗi giá trị bát phân N, với N số long BIGINT Hàm tương đương với hàm CONV(N,10,8) Trả NULL N NULL SQL> SELECT OCT(12); + -+ | OCT(12) | + -+ | 14 | + -+ row in set (0.00 sec) Hàm OCTET_LENGTH(str) Hàm OCTET_LENGTH() giống hàm LENGTH() Hàm ORD(str) Nếu ký tự bên trái chuỗi str ký tự biểu diễn nhiều byte, trả mã hóa cho ký tự đó, tính toán từ giá trị số byte cấu thành sử dụng công thức (1st byte code) + (2nd byte code 256) + (3rd byte code 2562) http://vietjack.com/ Trang chia sẻ học online miễn phí Page 14 http://vietjack.com/sql/index.jsp Copyright © vietjack.com Nếu ký tự bên trái không ký tự biểu diễn nhiều byte, hàm ORD() trả giá trị hàm ASCII() SQL> SELECT ORD('2'); + -+ | ORD('2') | + -+ | 50 | + -+ row in set (0.00 sec) Hàm POSITION(substr IN str) Hàm POSITION(substr IN str) giống hàm LOCATE(substr,str) Hàm QUOTE(str) Trích dẫn chuỗi kết mà sử dụng giá trị liệu bị thoát lệnh SQL Chuỗi trả bao trích dẫn đơn với thể ('), ('\'), ASCII NULL, Control-Z đặt trước dấu gạch chéo ngược (\) Nếu tham số NULL, giá trị trả từ NULL không bao dấu trích dẫn đơn SQL> SELECT QUOTE('Don\'t!'); + -+ | QUOTE('Don\'t!') | + -+ | 'Don\'t!' | + -+ row in set (0.00 sec) GHI CHÚ: Nếu bạn kiểm tra lại cài đặt, có bug với hàm này, tốt hết đừng sử dụng Hàm expr REGEXP pattern Hàm thực so khớp mẫu (pattern match) expr với pattern Trả expr so khớp với pattern, khơng trả Nếu expr pattern NULL, kết NULL REGEXP không phân biệt kiểu chữ, ngoại trừ sử dụng với chuỗi nhị phân http://vietjack.com/ Trang chia sẻ học online miễn phí Page 15 http://vietjack.com/sql/index.jsp Copyright © vietjack.com SQL> SELECT 'ABCDEF' REGEXP 'A%C%%'; + -+ | 'ABCDEF' REGEXP 'A%C%%' | + -+ | | + -+ row in set (0.00 sec) Một ví dụ khác là: SQL> SELECT 'ABCDE' REGEXP '.*'; + -+ | 'ABCDE' REGEXP '.*' | + -+ | | + -+ row in set (0.00 sec) Thêm ví dụ nữa: SQL> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line'; + -+ | 'new*\n*line' REGEXP 'new\\*.\\*line' | + -+ | | + -+ row in set (0.00 sec) Hàm REPEAT(str,count) Trả chuỗi chứa chuỗi str lặp lại count lần Nếu count nhỏ 1, trả chuỗi trống Trả NULL str count NULL SQL> SELECT REPEAT('SQL', 3); + -+ | REPEAT('SQL', 3) | + -+ http://vietjack.com/ Trang chia sẻ học online miễn phí Page 16 http://vietjack.com/sql/index.jsp | SQLSQLSQL Copyright © vietjack.com | + -+ row in set (0.00 sec) Hàm REPLACE(str,from_str,to_str) Trả chuỗi str với tất lần xuất chuỗi từ from_str thay chuỗi to_str Hàm REPLACE() thực so khớp phân biệt kiểu chữ tìm kiếm cho from_str SQL> SELECT REPLACE('www.mysql.com', 'w', 'Ww'); + -+ | REPLACE('www.mysql.com', 'w', 'Ww') | + -+ | WwWwWw.mysql.com | + -+ row in set (0.00 sec) Hàm REVERSE(str) Trả chuỗi str với thứ tự ký tự bị đảo ngược SQL> SELECT REVERSE('abcd'); + -+ | REVERSE('abcd') | + -+ | dcba | + -+ row in set (0.00 sec) Hàm RIGHT(str,len) Trả len ký tự bên phải từ chuỗi str, NULL tham số NULL SQL> SELECT RIGHT('foobarbar', 4); + -+ | RIGHT('foobarbar', 4) | + -+ | rbar | http://vietjack.com/ Trang chia sẻ học online miễn phí Page 17 http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ row in set (0.00 sec) Hàm RPAD(str,len,padstr) Trả chuỗi str, thêm vào bên phải với chuỗi padstr với độ dài len ký tự Nếu str dài len, giá trị trả bị rút gọn len ký tự SQL> SELECT RPAD('hi',5,'?'); + -+ | RPAD('hi',5,'?') | + -+ | hi??? | + -+ row in set (0.00 sec) Hàm RTRIM(str) Trả chuỗi str sau loại bỏ Trailing space SQL> SELECT RTRIM('barbar '); + -+ | RTRIM('barbar ') | + -+ | barbar | + -+ row in set (0.00 sec) Hàm SOUNDEX(str) Trả chuỗi soundex từ str SQL> SELECT SOUNDEX('Hello'); + -+ | SOUNDEX('Hello') | + -+ | H400 | + -+ http://vietjack.com/ Trang chia sẻ học online miễn phí Page 18 http://vietjack.com/sql/index.jsp Copyright © vietjack.com row in set (0.00 sec) Hàm bieu_thuc_1 SOUNDS LIKE bieu_thuc_2 Hàm giống dạng SOUNDEX(bieu_thuc_1) = SOUNDEX(bieu_thuc_2) Hàm SPACE(N) Trả chuỗi chứa N ký tự khoảng trống SQL> SELECT SPACE(6); + -+ | SELECT SPACE(6) | + -+ | ' ' | + -+ row in set (0.00 sec) Hàm STRCMP(str1, str2) So sánh hai chuỗi trả hai chuỗi tương đương, trả -1 tham số đầu nhỏ tham số thứ hai theo thứ tự xếp tại, khơng trả SQL> SELECT STRCMP('MOHD', 'MOHD'); + -+ | STRCMP('MOHD', 'MOHD') | + -+ | | + -+ row in set (0.00 sec) Một ví dụ khác: SQL> SELECT STRCMP('AMOHD', 'MOHD'); + -+ | STRCMP('AMOHD', 'MOHD') | + -+ | -1 | http://vietjack.com/ Trang chia sẻ học online miễn phí Page 19 http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ row in set (0.00 sec) Bạn theo dõi thêm ví dụ: SQL> SELECT STRCMP('MOHD', 'AMOHD'); + -+ | STRCMP('MOHD', 'AMOHD') | + -+ | | + -+ row in set (0.00 sec) Hàm SUBSTRING(str,pos) Hàm SUBSTRING(str FROM pos) Hàm SUBSTRING(str,pos,len) Hàm SUBSTRING(str FROM pos FOR len) Mẫu hàm mà khơng có tham số len trả chuỗi từ chuỗi str bắt đầu vị trí pos Mẫu hàm với tham số len trả chuỗi phụ có độ dài len ký tự từ chuỗi str vị trí pos Mẫu hàm sử dụng FROM cú pháp SQL chuẩn Cũng sử dụng giá trị âm cho pos Trong trường hợp này, phần bắt đầu chuỗi phụ ký tự pos từ phần cuối chuỗi, thay phần bắt đầu Một giá trị âm sử dụng cho pos mẫu hàm SQL> SELECT SUBSTRING('Quadratically',5); + -+ | SSUBSTRING('Quadratically',5) | + -+ | ratically | + -+ row in set (0.00 sec) SQL> SELECT SUBSTRING('foobarbar' FROM 4); + -+ | SUBSTRING('foobarbar' FROM 4) | http://vietjack.com/ Trang chia sẻ học online miễn phí Page 20 http://vietjack.com/sql/index.jsp Copyright © vietjack.com + -+ | barbar | + -+ row in set (0.00 sec) SQL> SELECT SUBSTRING('Quadratically',5,6); + -+ | SUBSTRING('Quadratically',5,6) | + -+ | ratica | + -+ row in set (0.00 sec) Hàm SUBSTRING_INDEX(str,delim,count) Trả chuỗi từ chuỗi str trước count lần xuất delimiter xác định delim Nếu count dương, thứ bên trái delimeter cuối (đếm từ trái) trả Nếu count âm, thứ bên phải delimiter cuối (đếm từ phải) trả Hàm SUBSTRING_INDEX() thực so khớp phân biệt kiểu chữ tìm kiếm cho delim SQL> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2); + -+ | SUBSTRING_INDEX('www.mysql.com', '.', 2) | + -+ | www.mysql | + -+ row in set (0.00 sec) Hàm TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) Hàm TRIM([remstr FROM] str) Trả chuỗi str với tất tiền tố hậu tố remstr bị gỡ bỏ Nếu khơng có specifier (ví dụ: BOTH, LEADING, TRAILING) cung cấp, BOTH mặc định Tham số remstr tùy ý không xác định, khoảng trống bị gỡ bỏ http://vietjack.com/ Trang chia sẻ học online miễn phí Page 21 http://vietjack.com/sql/index.jsp SQL> SELECT TRIM(' bar Copyright © vietjack.com '); + -+ | TRIM(' bar ') | + -+ | bar | + -+ row in set (0.00 sec) SQL> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx'); + -+ | TRIM(LEADING 'x' FROM 'xxxbarxxx') | + -+ | barxxx | + -+ row in set (0.00 sec) SQL> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx'); + -+ | TRIM(BOTH 'x' FROM 'xxxbarxxx') | + -+ | bar | + -+ row in set (0.00 sec) SQL> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz'); + -+ | TRIM(TRAILING 'xyz' FROM 'barxxyz') | + -+ | barx | + -+ row in set (0.00 sec) http://vietjack.com/ Trang chia sẻ học online miễn phí Page 22 http://vietjack.com/sql/index.jsp Copyright © vietjack.com Hàm UCASE(str) Hàm UCASE() giống hàm UPPER() Hàm UNHEX(str) Thực ngược lại với hàm HEX(str) Nghĩa là, thơng dịch cặp ký số thập lục phân tham số số chuyển đổi sang ký tự biểu diễn số Các ký tự kết trả dạng chuỗi nhị phân SQL> SELECT UNHEX('4D7953514C'); + -+ | UNHEX('4D7953514C') | + -+ | SQL | + -+ row in set (0.00 sec) Các ký tự chuỗi tham số phải ký số thập lục phân: '0' … '9', 'A' … 'Z', 'a … 'z' Nếu hàm UNHEX() gặp ký số thập lục phân tham số, trả NULL Hàm UPPER(str) Trả chuỗi str với tất ký tự chuyển đổi thành chữ hoa SQL> SELECT UPPER('Allah-hus-samad'); + -+ | UPPER('Allah-hus-samad') | + -+ | ALLAH-HUS-SAMAD | + -+ row in set (0.00 sec) http://vietjack.com/ Trang chia sẻ học online miễn phí Page 23 ...http://vietjack.com /sql/ index.jsp Copyright © vietjack.com qua trái Hàm FIELD() Trả mục (vị trí) tham số dãy tham số Hàm FIND_IN_SET() Trả mục (vị trí) tham số tham số thứ hai Hàm FORMAT()... việc nối chuỗi tham số Có thể có nhiều tham số Nếu tất tham số chuỗi nhị phân (non-binary), kết chuỗi nhị phân Nếu tham số bao gồm chuỗi nhị phân nào, kết chuỗi nhị phân Một tham số dạng số chuyển... http://vietjack.com /sql/ index.jsp Copyright © vietjack.com SQL> SELECT LOWER('QUADRATICALLY'); + -+ | LOWER('QUADRATICALLY') | + -+ | quadratically | +