Fungsi pangkalan data ialah modul dengan fungsi tertentu yang boleh menerima sifar atau lebih nilai input dan mengembalikan nilai output. MySQL memberikan kami banyak fungsi sistem untuk memproses dan menganalisis data Artikel ini memperkenalkan 10 fungsi rentetan yang biasa digunakan, serta fungsi lain yang berkaitan. Fungsi
CONCAT()
CONCAT(str1,str2,…)) digunakan untuk mengembalikan rentetan selepas menggabungkan berbilang rentetan, contohnya:
SELECT CONCAT('MySQL', '字符串', '函数') AS str;
Jika Jika sebarang parameter dalam fungsi ini ialah NULL, hasil pulangan ialah NULL. Contohnya:
SELECT CONCAT('MySQL', NULL, '函数') AS str;
Untuk pemalar rentetan, kita juga boleh menulisnya secara langsung bersama-sama. Contohnya:
SELECT 'MySQL' '字符串' '函数' AS str;
Kaedah di atas hanya boleh digunakan untuk menyambung pemalar rentetan dan tidak boleh digunakan untuk menyambung nilai medan.
Jika mod SQL PIPES_AS_CONCAT didayakan, operator OR logik MySQL (||) juga boleh digunakan untuk menggabungkan rentetan, serupa dengan Oracle dan PostgreSQL.
Selain fungsi CONCAT(str1,str2,…)), fungsi CONCAT_WS(separator,str1,str2,…)) bermaksud menggunakan pemisah yang ditentukan untuk menyambungkan berbilang rentetan , kemudian Kembalikan NULL. Contohnya:
SELECT CONCAT_WS('-', 'MySQL', NULL, '字符串') AS str1,
LOWER()
LOWER(str) dan LCASE(str) fungsi digunakan untuk menukar rentetan kepada huruf kecil, contohnya:
SELECT LOWER('MySQL字符串函数') AS str1, LCASE('MySQL字符串函数') AS str2;
Fungsi penukaran case MySQL tidak menyokong rentetan binari (BINARY, VARBINARY, BLOB)), anda boleh menukarnya menjadi rentetan bukan binari dan kemudian memprosesnya. Contohnya:
SELECT LOWER(BINARY 'MySQL字符串函数') AS str1,
UPPER()
UPPER(str) dan UCASE(str) fungsi digunakan untuk menukar rentetan kepada huruf besar, contohnya:
SELECT UPPER('MySQL字符串函数') AS str1, UCASE('MySQL字符串函数') AS str2;
LENGTH()
Fungsi LENGTH(str) dan OCTET_LENGTH(str) digunakan untuk mengembalikan panjang bait rentetan, contohnya:
SELECT LENGTH('MySQL字符串函数') AS len1, OCTET_LENGTH('MySQL字符串函数') AS len2;
Dalam pengekodan utf8mb4, satu aksara Cina menduduki 3 bait.
Selain itu, fungsi CHAR_LENGTH(str) dan CHARACTER_LENGTH(str) digunakan untuk mengembalikan panjang aksara rentetan, iaitu bilangan aksara. Contohnya:
SELECT CHAR_LENGTH('MySQL字符串函数') AS len1, CHARACTER_LENGTH('MySQL字符串函数') AS len2;
BIT_LENGTH(str) fungsi digunakan untuk mengembalikan panjang bit (bilangan bit) rentetan, contohnya:
SELECT BIT_LENGTH('MySQL字符串函数') AS len;
Satu bait mengandungi 8 bit .
SUBSTRING()
SUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len) dan SUBSTRING(str FROM pos FOR len) boleh digunakan Untuk mengembalikan subrentetan bermula dari pos kedudukan yang ditentukan, len mewakili panjang subrentetan pos ialah 0, yang bermaksud mengembalikan rentetan kosong. Contohnya:
SELECT SUBSTRING('MySQL字符串函数', 6) AS str1,
Pos parameter kedudukan boleh menjadi nombor negatif, dalam hal ini subrentetan yang dikembalikan bermula daripada aksara pos di sebelah kanan rentetan. Contohnya:
SELECT SUBSTRING('MySQL字符串函数', -2) AS str1,
Selain itu, fungsi SUBSTR() dan MID() adalah sinonim bagi fungsi SUBSTRING() dan turut menyokong 4 borang di atas.
Fungsi LEFT(str,len) mengembalikan aksara len di sebelah kiri rentetan str dan fungsi RIGHT(str,len) mengembalikan aksara len di sebelah kanan rentetan str. Contohnya:
SELECT LEFT('MySQL字符串函数',5) AS str1,
SUBSTRING_INDEX(str,delim,count) fungsi mengembalikan subrentetan sebelum pembatas kiraan. Jika kiraan positif, kira dari kiri dan kembalikan semua aksara di sebelah kiri jika kiraan negatif, kira dari kanan dan kembalikan semua aksara di sebelah kanan; Contohnya: fungsi
SELECT SUBSTRING_INDEX('张三;李四;王五', ';', 2) AS str1,[object Object]
TRIM()
TRIM([remstr FROM] str) digunakan untuk mengembalikan subrentetan selepas memadamkan semua rentetan remstr pada kedua-dua belah rentetan str nilai lalai remstr ialah Space. Contohnya: fungsi
SELECT TRIM(' MySQL字符串函数 ') AS str1,
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) digunakan untuk mengembalikan rentetan str selepas memadam semua remstr rentetan pada kedua-dua belah/kiri/kanan Subrentetan, rentetan pada kedua-dua belah pihak (KEDUANYA) dipadamkan secara lalai, dan remstr lalai kepada ruang. Contohnya:
SELECT TRIM(LEADING ' ' FROM ' MySQL字符串函数 ') AS str1,
LPAD()/RPAD()
Fungsi LPAD(str,len,padstr) bermaksud bahagian kiri rentetan str dilapisi dengan padstr sehingga panjang ialah len; Fungsi RPAD(str,len,padstr) bermaksud menggunakan padstr di sebelah kanan rentetan str sehingga panjang len. Contohnya:
SELECT LPAD(123, 6, '0') AS str1, LPAD(123, 2, '0') AS str2,
Apabila panjang rentetan str lebih besar daripada len, ia bersamaan dengan memotong rentetan dari sebelah kanan.
Selain itu, fungsi REPEAT(str,count) digunakan untuk menyalin masa kiraan str rentetan dan mengembalikan hasilnya.
Contohnya:
INSTR()
Fungsi INSTR (str,substr) digunakan untuk mengembalikan substring substr dalam rentetan str Kedudukan indeks kejadian pertama Jika subrentetan tidak dijumpai, 0 dikembalikan. Sebagai contoh:
select INSTR('MySQL字符串函数', '字符串') AS index1,
Selain itu, fungsi LOCATE (substr,str) juga boleh digunakan untuk mengembalikan kedudukan indeks kejadian pertama substring substring dalam string str, yang unik kepada Fungsi INSTR (str,substr) Perbezaannya ialah susunan parameter diterbalikkan.
LOCATE (substr,str,pos) Fungsi mengembalikan kedudukan indeks kejadian pertama substring substr dalam string str bermula dari posisi pos, contohnya:
SELECT LOCATE('S','MySQL Server', 5) AS ind;
FIELD ( str ,str1,str2,str3,…) Fungsi mengembalikan kedudukan di mana str rentetan muncul dalam senarai rentetan seterusnya dan mengembalikan 0 jika ia tidak ditemui. Contohnya:
SELECT FIELD('李四', '张三', '李四', '王五') AS ind;
FIND_IN_SET (str,strlist) Fungsi mengembalikan kedudukan di mana rentetan str muncul dalam senarai rentetan strlist terdiri daripada N subrentetan yang dipisahkan dengan koma. Contohnya: Fungsi
SELECT FIND_IN_SET('李四', '张三,李四,王五') AS ind;
REPLACE()
REPLACE (str,from_str,to_str) digunakan untuk menggantikan semua from_str dalam rentetan str dengan to_str dan mengembalikan rentetan yang diganti. Contohnya:
SELECT REPLACE('MySQL字符串函数', '字符串', '日期') AS str1,
另外,INSERT (str,pos,len,newstr) 函数用于在字符串 str 的指定位置 pos 之后插入子串 newstr,替换随后的 len 个字符。例如:
SELECT INSERT('MySQL字符串函数', 6, 3, '日期') AS str;
REVERSE()
REVERSE (str) 函数用于将字符串 str 中的字符顺序进行反转。例如:
SELECT REVERSE('上海自来水来自海上')='上海自来水来自海上' AS "回文";
推荐学习:《mysql视频教程》
Atas ialah kandungan terperinci Ringkaskan fungsi rentetan yang biasa digunakan dalam MySQL!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!