共計 2977 個字符,預計需要花費 8 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關 MYSQL 常見運算符和函數有哪些,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
MySQL 字符函數
(1)CONCAT():字符連接。
SELECT CONCAT(‘IMOOC’,’-‘,’MySQL’);//IMOOC-MySQL
SELECT CONCAT (first_name,last_name) AS fullname FROM test;
(2)CONCAT_WS():使用指定的分隔符進行字符連接,(第一個位置指定分隔符,后面的為分割的內容)。
SELECT CONCAT_WS(‘%’,’abc’,’def’); // 第一個是指定的分隔符;//abc%def
(3)FORMAT():數字格式化。
SELECT FORMAT(123560.75,2); //123,560.75; 第二個參數若為 0(四舍五入),顯示整數。
(4)LOWER():轉化小寫。
(5)UPPER():轉換大寫。
SELECT UPPER(‘mysql’);//MYSQL
(6)LEFT():獲取左側字符。
(7)RIGHT():獲取右側字符。
SELECT LEFT (‘MYSQL’,2); //MY
SELECT LOWER(LEFT(‘mYsql’,2)); // 函數嵌套;//my
(8)LENGTH():取得字符串長度。
LENGTH(‘MYSQL’);//6; 最后加了個空格。
(9)LTRIM():清空字符串前面 (左端) 空格。
(10)RTRIM():清空字符串末尾 (右端) 空格。
(11)TRIM():刪除前導、后續空格或者指定字符。
SELECT TRIM(’MySQL‘);
SELECT TRIM(LEADING‘?’FROM‘??MYSQL???’); // 刪除前導?
SELECT TRIM(TRAILING‘?’FROM‘??MYSQL???’); // 刪除后續?
SELECT TRIM(BOTH‘?’FROM‘??MYSQL???’); // 前后均刪除,但不能刪除中間的?
(12)REPLACE():替換
SELECT REPLACE(‘MY???SQL’,’?’,”); // 將問號換成空白,即去掉?
SELECT REPLACE(‘MY???SQL’,’?’,’~~’); // 可以將 n 個? 換成 m 個組合符號。
(13)SUBSTRING():字符串截取(從 1 開始,編程里可能從 0 開始)。
SELECT SUBSTRING(‘mYSQL’,1,2); // 從字符串中的第一個位置開始截取 2 個字符 mY。
SELECT SUBSTRING(‘mYSQL’,3); //SQL 從第 3 的位置開始截取到結束。
SELECT SUBSTRING(‘mYSQL’,-2); //QL 從倒數第 2 位開始截取到結束。
SELECT SUBSTRING(‘mYSQL’,-3,-1); //F,長度不能是負的,但是有些編程語言支持,而 mysql 不支持。
(14)[NOT] LIKE:模式匹配(百分號 % 代表任意個字符; 下劃線_代表任意一個字符)。
例子:”tom%”。
SELECT * FROM test WHERE first_name LIKE‘%1%%’ESCAPE‘1’; // 去除’1’后面的編譯,查找包含’%’符號的信息‘_’任意一個字符。
MySQL 數值運算符函數
SELECT CEIL(3.01) == 4 /* 有 n.xx 都是 n +1 進一取整 向上取整。
SELECT FLOOR(3.99) == 3 /* 取 n.xx 都是 n 舍一取整 向下取整。
SELECT 3 DIV 4 == 0 /* 整數除法,取商。
SELECT 3/4 == 0.75 /* 除法。
SELECT 2.1 MOD 2 == 0.1 /* 取余數(取模) 被除數是整數, 小數都可以。
SELECT 21 % 2 == 1 /* 取余數 mod=%。
SELECT POWER(3,4) == 81 /* 3 的 4 次方 冪運算。
SELECT ROUND(3.1415926,4) == 3.1416 /* 四舍五入,保留 4 位小數。
SELECT TRUNCATE(123.89,1) == 123.8 /* 截取小數點后的位數。
SELECT TRUNCATE(123.89,0) == 123 /* 截取小數點后的位置,0 位為整數部分。
SELECT TRUNCATE(123.89,-1) == 120 /* 截取 -1, 從個位起去掉后面的數值替換為 0。
MySQL 比較運算符和函數
[NOT]BETWEEN…AND…[不]在范圍之內,結果返回 1 或 0。
例如:15 BETWEEN 10 AND 16; //1。
[NOT]IN()列出值選項。
例如:SELECT 10 IN(5,10,25); //1。
IS [NOT] NULL:只有 NULL IS [NOT] NULL 返回 1,其他情況 (包括”,0) 都返回 0。
MySQL 日期時間函數
(1)SELECT NOW(); // 當前日期時間。
(2)SELECT CURDATE(); // 當前日期。
(3)SELECT CURTIME(); // 當前時間。
(4)SELECT DATE_ADD(‘2014-3-12’,INTERVAL [-]365 DAY); // 2015-03-12,DAY 還可以替換為 WEEK,MONTH,YEAR 等。DATE_ADD 不是增加的意思,是變化,既可以增加,也可以減去。
(5)DATEDIFF(); // 日期的差值。
DATEDIFF(‘2013-3-12’,’2014-3-12’); // -365 日期差值。
(6)DATE_FORMAT(); // 日期格式化。
SELECT DATE_FORMAT(‘2014-3-2’,’%m%d%Y’); // 03/02/2014(’%’帶有前導 0 作用)。
MySQL 信息函數
SELECT CONNECTION_ID(); == 2 /* 連接 ID。
SELECT DATABASE(); /* 當前打開的數據庫。
SELECT LAST_INSERT_ID(); /* 最后插入的記錄 同時寫入多條記錄是只返回寫入的第一條的 id。而且表中必須要有自動編號的字段。
DESC tab_name; /* 查看數據庫字段及屬性,查看表結構。
SELECT USER(); /* 打印當前用戶信息。
SELECT VERSION(); /* 打印當前數據庫信息。
聚合函數
只有一個返回值
AVG() – 平均值
SELECT ROUND(AVG(goods_price),2) AS avg_price FROM tdb_goods;
COUNT() – 計數
SELECT COUNT(goods_id) as counts FROM tdb_goods;
MAX() – 最大值
SELECT MAX(goods_price) as counts FROM tdb_goods;
MIN() – 最小值
SUM() – 求和
SELECT SUM(goods_price) as counts FROM tdb_goods;
加密函數
MD5():信息摘要算法。
select md5(’admin’);// 給 admin 加密。如果 mysql 中的信息是為了 web 開發做準備,那么盡量使用 md5。
password():密碼算法。
set password=password(‘1236’)修改了當前登錄密碼為 1236。
關于“MYSQL 常見運算符和函數有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。