mysql零距離接觸-運算符與函數

一,字符函數

函數mysql

說明

舉例web

CONCATsql

字符鏈接數據庫

SELECT CONCAT('IMOOC','-','MySQL');函數

CONCAT_WS加密

使用指定的分隔符進行字符鏈接spa

SELECT CONCAT_WS('%','asdsa','asdasda'); //第一個是指定的分隔符md5

FORMAT()ci

數字格式化字符串

SELECT FORMAT(123560.75,2); 123,560.75

LOWER() /UPPER()

轉化小寫/大寫

SELECT UPPER('mysql');

LEFT() /RIGHT

獲取左側字符/右側

SELECT LEFT ('MYSQL',2); MY

LENGTH()
 

取得字符串長度

LENGTH('MYSQL’);

TRIM()/LTRIM()/RTRIM()
 

刪除前導、後續空格或者指定字符

SELECT TRIM(' MySQL ');
SELECT TRIM(leading '?' from '??MYSQL???'); //刪除前導?
SELECT TRIM(trailing '?' from '??MYSQL???'); //刪除後續?
SELECT TRIM(both '?' from '??MYSQL???'); //先後均刪除,但不能刪除中間的?

REPLACE() 
 

替換

SELECT REPLACE('MY???SQL','?',''); //將問號換成空白,即去掉?
SELECT REPLACE('MY???SQL','?','~~'); //能夠將n個?換成m個組合符號

SUBSTRING() 

字符串截取

SELECT SUBSTRING('mYSQL',1,2); //從字符串中的第一個位置開始截取2個字符mY
SELECT SUBSTRING('mYSQL',3); //SQL 從第3的位置開始截取到結束
SELECT SUBSTRING('mYSQL',-2); //QL 從倒數第2位開始截取到結束

[NOT] LIKE

模式匹配

百分號%表明任意個字符; 下劃線_表明任意一個字符


SELECT 'MySQL' LIKE 'M%';
first_name tom% last_name 123
SELECT * FROM test WHERE first_name LIKE '%o%';
SELECT * FROM test WHERE first_name LIKE '%1%%' ESCAPE '1'; // 查找包含% 符號的信息

二,數值運算符和函數

CEIL()--進一取正
FLOOR()--舍一取正
DIV--整數除法
MOD --取餘
POWER() --冪運算
ROUND() --取餘(四捨五入)
TRUNCATE() --截斷(不四捨五入)
例:
CEIL(3.01) ==>4 /*有n.xx 都是n+1 進一取整 向上取整
FLOOR(3.99) ==>3 /*取n.xx 都是n 舍一取整 向下取整
SELECT 3 DIV 4 ==> 0 /*整數除法
SELECT 3/4 ==>0.75 /*除法
SELECT 21 MOD 2 ==>1 /*取餘數(取模)整數,小數均可以
SELECT 21 % 2 ==>1 /*取餘數(取模)整數,小數均可以
SELECT POWER(3,4) ==>81 /*3的4次方 冪運算
SELECT ROUND(3.1415926,4) ==>3.142 /*四捨五入
SELECT TRUNCATE(123.89,1) ==>123.8 /*截取小數點後的位置
SELECT TRUNCATE(123.89,0) ==>123 /*截取小數點後的位置,0位爲整數部分
SELECT TRUNCATE(123.89,-1) ==>120 /*截取-1,從個位起去掉後面的數值替換爲0

三,比較運算符和函數

一、[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

四,日期時間函數

函數

說明

舉例

NOW()

當前日期和時間

 

CURDATE() 當前日期

 

CURTIME()

當前時間

 

DATE_ADD()

日期編號

SELECT DATE_ADD('2014-3-12',INTERVAL 365 DAY); ==>2015-3-12 /*在原有給定的時間上增長365天

DATEDIFF

日期差

SELECT DATEDIFF('2014-1-1','2015-1-1') ==> -365 /*時間差值計算 單位爲日 前面時間減去後面時間

DATE_FORMAT

日期格式化

SELECT DATE_FORMAT('2014-3-2','%m/%d/%d'); ==> 03/02/2014

五,信息函數

(1)CONNECTION_ID(); // 鏈接ID
mysql> SELECT CONNECTION_ID();
(2)SELECT DATABASE(); // 當前數據庫
(3)LAST_INSERT_ID(); // 最後句插入記錄的 ID 號,若是是一次insert中插入的是多條記錄,獲得的是多條中的第一條(而不是最後一條!)
(4)VERSION(); // 版本的信息
(5)USER(); // 當前用戶
SELECT USER();

六,聚合函數

聚合函數只有一個返回值:
AVG() 平均值
COUNT() 計數
MAX() 最大值
MIN() 最小值
SUM() 求和

七,加密函數

md5();加密數據;SELECT MD5(‘admin’);web頁面 password();加密本地密碼,修改當前用戶密碼; set password = password('admin');修改當前用戶密碼

相關文章
相關標籤/搜索