日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL中的函数

發(fā)布時(shí)間:2025/5/22 数据库 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL中的函数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文

一、數(shù)學(xué)函數(shù)
  數(shù)學(xué)函數(shù)主要用于處理數(shù)字,包括整型、浮點(diǎn)數(shù)等。

ABS(x)
返回x的絕對(duì)值  

SELECT ABS(-1) -- 返回1

CEIL(x),CEILING(x)
返回大于或等于x的最小整數(shù)  

SELECT CEIL(1.5) -- 返回2

FLOOR(x)
返回小于或等于x的最大整數(shù)  

SELECT FLOOR(1.5) -- 返回1

RAND()
返回0->1的隨機(jī)數(shù)  

SELECT RAND() --0.93099315644334

RAND(x)
返回0->1的隨機(jī)數(shù),x值相同時(shí)返回的隨機(jī)數(shù)相同  

SELECT RAND(2) --1.5865798029924

PI()
返回圓周率(3.141593)  

SELECT PI() --3.141593

TRUNCATE(x,y)
返回?cái)?shù)值x保留到小數(shù)點(diǎn)后y位的值(與ROUND最大的區(qū)別是不會(huì)進(jìn)行四舍五入)  

SELECT TRUNCATE(1.23456,3) -- 1.234

ROUND(x,y)
保留x小數(shù)點(diǎn)后y位的值,但截?cái)鄷r(shí)要進(jìn)行四舍五入  

SELECT ROUND(1.23456,3) -- 1.235

POW(x,y).POWER(x,y)
返回x的y次方  

SELECT POW(2,3) -- 8

SQRT(x)
返回x的平方根  

SELECT SQRT(25) -- 5

EXP(x)
返回e的x次方  

SELECT EXP(3) -- 20.085536923188

MOD(x,y)
返回x除以y以后的余數(shù)  

SELECT MOD(5,2) -- 1

?

二、字符串函數(shù)
  字符串函數(shù)是MySQL中最常用的一類函數(shù),字符串函數(shù)主要用于處理表中的字符串。

函數(shù) 說明

CHAR_LENGTH(s)
返回字符串s的字符數(shù)

SELECT CHAR_LENGTH('你好123') -- 5

CONCAT(s1,s2,...)
將字符串s1,s2等多個(gè)字符串合并為一個(gè)字符串

SELECT CONCAT('12','34') -- 1234

CONCAT_WS(x,s1,s2,...)
同CONCAT(s1,s2,...)函數(shù),但是每個(gè)字符串直接要加上x

SELECT CONCAT_WS('@','12','34') -- 12@34

INSERT(s1,x,len,s2)
將字符串s2替換s1的x位置開始長度為len的字符串

SELECT INSERT('12345',1,3,'abc') -- abc45

UPPER(s),UCAASE(S)
將字符串s的所有字母變成大寫字母

SELECT UPPER('abc') -- ABC

LOWER(s),LCASE(s)
將字符串s的所有字母變成小寫字母

SELECT LOWER('ABC') -- abc

LEFT(s,n)
返回字符串s的前n個(gè)字符

SELECT LEFT('abcde',2) -- ab

RIGHT(s,n)
返回字符串s的后n個(gè)字符

SELECT RIGHT('abcde',2) -- de

LTRIM(s) 去掉字符串s開始處的空格
RTRIM(s) 去掉字符串s結(jié)尾處的空格
TRIM(s) 去掉字符串s開始和結(jié)尾處的空格
SELECT TRIM('@' FROM '@@abc@@') -- abc

REPEAT(s,n)
將字符串s重復(fù)n次

SELECT REPEAT('ab',3) -- ababab

SPACE(n) 返回n個(gè)空格

REPLACE(s,s1,s2)
將字符串s2替代字符串s中的字符串s1

SELECT REPLACE('abca','a','x') --xbcx

STRCMP(s1,s2) 比較字符串s1和s2

SUBSTRING(s,n,len) 獲取從字符串s中的第n個(gè)位置開始長度為len的字符串

LOCATE(s1,s),POSITION(s1 IN s)
從字符串s中獲取s1的開始位置

SELECT LOCATE('b', 'abc') -- 2

REVERSE(s)
將字符串s的順序反過來

SELECT REVERSE('abc') -- cba

FIELD(s,s1,s2...)
返回第一個(gè)與字符串s匹配的字符串位置

SELECT FIELD('c','a','b','c') -- 3

?

三、日期時(shí)間函數(shù)
  MySQL的日期和時(shí)間函數(shù)主要用于處理日期時(shí)間。
函數(shù) 說明

CURDATE(),CURRENT_DATE()
返回當(dāng)前日期

SELECT CURDATE()
->2014-12-17

CURTIME(),CURRENT_TIME
返回當(dāng)前時(shí)間

SELECT CURTIME()
->15:59:02


NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),

SYSDATE(),LOCALTIMESTAMP()

返回當(dāng)前日期和時(shí)間

SELECT NOW()
->2014-12-17 15:59:02

YEAR(d),
MONTH(d)
DAY(d)
返回日期d中的月份值,1->12

SELECT MONTH('2011-11-11 11:11:11')
->11

MONTHNAME(d)
返回日期當(dāng)中的月份名稱,如Janyary

SELECT MONTHNAME('2011-11-11 11:11:11')
->November

DAYNAME(d)
返回日期d是星期幾,如Monday,Tuesday

SELECT DAYNAME('2011-11-11 11:11:11')
->Friday

DAYOFWEEK(d)
日期d今天是星期幾,1星期日,2星期一

SELECT DAYOFWEEK('2011-11-11 11:11:11')
->6

WEEKDAY(d)
日期d今天是星期幾,

0表示星期一,1表示星期二

WEEK(d),WEEKOFYEAR(d)
計(jì)算日期d是本年的第幾個(gè)星期,范圍是0->53

SELECT WEEK('2011-11-11 11:11:11')
->45

DAYOFYEAR(d)
計(jì)算日期d是本年的第幾天

SELECT DAYOFYEAR('2011-11-11 11:11:11')
->315

DAYOFMONTH(d)
計(jì)算日期d是本月的第幾天

SELECT DAYOFMONTH('2011-11-11 11:11:11')
->11

QUARTER(d)
返回日期d是第幾季節(jié),返回1->4

SELECT QUARTER('2011-11-11 11:11:11')
->4

HOUR(t)
返回t中的小時(shí)值

SELECT HOUR('1:2:3')
->1

MINUTE(t)
返回t中的分鐘值

SELECT MINUTE('1:2:3')
->2

SECOND(t)
返回t中的秒鐘值

SELECT SECOND('1:2:3')
->3

?


四、系統(tǒng)信息函數(shù)
  系統(tǒng)信息函數(shù)用來查詢MySQL數(shù)據(jù)庫的系統(tǒng)信息。

函數(shù) 作用
VERSION()
返回?cái)?shù)據(jù)庫的版本號(hào)

SELECT VERSION()
->5.0.67-community-nt

CONNECTION_ID() 返回服務(wù)器的連接數(shù)
DATABASE()、SCHEMA 返回當(dāng)前數(shù)據(jù)庫名
USER()、SYSTEM_USER()
返回當(dāng)前用戶

五、加密函數(shù)
  加密函數(shù)是MySQL用來對(duì)數(shù)據(jù)進(jìn)行加密的函數(shù)。

  1、PASSWORD(str)

  該函數(shù)可以對(duì)字符串str進(jìn)行加密,一般情況下,PASSWORD(str)用于給用戶的密碼加密。

SELECT PASSWORD('123')
->*23AE809DDACAF96AF0FD78ED04B6A265E05AA257
  2、MD5

  MD5(str)函數(shù)可以對(duì)字符串str進(jìn)行散列,可以用于一些普通的不需要解密的數(shù)據(jù)加密。

SELECT md5('123')
->202cb962ac59075b964b07152d234b70

  3、ENCODE(str,pswd_str)與DECODE(crypt_str,pswd_str)

  ENCODE函數(shù)可以使用加密密碼pswd_str來加密字符串str,加密結(jié)果是二進(jìn)制數(shù),需要使用BLOB類型的字段保存。該函數(shù)與DECODE是一對(duì),需要同樣的密碼才能夠解密。

SELECT ENCODE('123','xxoo')
->;vx
SELECT DECODE(';vx','xxoo')
->123


insert into login values('lch','alvin',encode('123','xxoo'),'50')


select Name,decode(Password,'xxoo') from login where username='lch'

轉(zhuǎn)載于:https://www.cnblogs.com/pan-my/p/10812767.html

總結(jié)

以上是生活随笔為你收集整理的MySQL中的函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。