MySQL--簡單的函數

一、排序

1.1ORDER BY FIELD(column,value1,value2,value3...)

指定序列對結果進行排序
例子

CREATE TABLE `course`  (
  `CId` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `Cname` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `TId` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`CId`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `course` VALUES ('01', '語文', '02');
INSERT INTO `course` VALUES ('02', '數學', '01');
INSERT INTO `course` VALUES ('03', '英語', '03');

不加排序的結果:

CID TID CName
01 語文 02
02 數學 01
03 英語 03

加入排序:

SELECT Cname FROM course ORDER BY FIELD(Cname,'數學','英語','語文');

結果:


order by field

如果表中的結果在給定的序列內找不到,則會出現(xiàn)在查詢結果的首個位置


image.png
SELECT Cname FROM course ORDER BY FIELD(Cname,'數學','英語','語文');

體育會出現(xiàn)在第一個位置


體育會出現(xiàn)在第一個位置

二、替換

2.1 IFNULL(str1,str2)

如果str1的值為null,則會替換為str2

例子:


其中一個Cname為null
SELECT IFNULL(Cname,'空') AS Cname FROM course ORDER BY FIELD(Cname,'數學','英語','語文');

2.2 IF(str1,str2,str3)

類似于三元運算符,str1是一個返回Boolean值的表達式,如果為true則返回str2,否則str3

IF(str1,str2,str3)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容