mysql空間資料庫函式 MySQL資料庫常用函式

2021-10-22 10:08:14 字數 4775 閱讀 2083

一、數學函式

數學函式主要用於處理數字,包括整型、浮點數等。

abs(x)

返回x的絕對值

select abs(-1) -- 返回1

ceil(x),ceiling(x)

返回大於或等於x的最小整數

select ceil(1.5) -- 返回2

floor(x)

返回小於或等於x的最大整數

select floor(1.5) -- 返回1

rand()

返回0->1的隨機數

select rand() --0.93099315644334

rand(x)

返回0->1的隨機數,x值相同時返回的隨機數相同

select rand(2) --1.5865798029924

pi()

返回圓周率(3.141593)

select pi() --3.141593

truncate(x,y)

返回數值x保留到小數點後y位的值(與round最大的區別是不會進行四捨五入)

select truncate(1.23456,3) -- 1.234

round(x,y)

保留x小數點後y位的值,但截斷時要進行四捨五入

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以後的餘數

select mod(5,2) -- 1

二、字串函式

字串函式是mysql中最常用的一類函式,字串函式主要用於處理表中的字串。

函式 說明

char_length(s)

返回字串s的字元數

select char_length('你好123') -- 5

concat(s1,s2,...)

將字串s1,s2等多個字串合併為乙個字串

select concat('12','34') -- 1234

concat_ws(x,s1,s2,...)

同concat(s1,s2,...)函式,但是每個字串直接要加上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個字元

select left('abcde',2) -- ab

right(s,n)

返回字串s的後n個字元

select right('abcde',2) -- de

ltrim(s) 去掉字串s開始處的空格

rtrim(s) 去掉字串s結尾處的空格

trim(s) 去掉字串s開始和結尾處的空格

select trim('@' from '@@abc@@') -- abc

repeat(s,n)

將字串s重複n次

select repeat('ab',3) -- ababab

space(n) 返回n個空格

replace(s,s1,s2)

將字串s2替代字串s中的字串s1

select replace('abca','a','x') --xbcx

strcmp(s1,s2) 比較字串s1和s2

substring(s,n,len) 獲取從字串s中的第n個位置開始長度為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...)

返回第乙個與字串s匹配的字串位置

select field('c','a','b','c') -- 3

三、日期時間函式

mysql的日期和時間函式主要用於處理日期時間。

函式 說明

curdate(),current_date()

返回當前日期

select curdate()

->2014-12-17

curtime(),current_time

返回當前時間

select curtime()

->15:59:02

now(),current_timestamp(),localtime(),

sysdate(),localtimestamp()

返回當前日期和時間

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)

返回日期當中的月份名稱,如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)

計算日期d是本年的第幾個星期,範圍是0->53

select week('2011-11-11 11:11:11')

->45

dayofyear(d)

計算日期d是本年的第幾天

select dayofyear('2011-11-11 11:11:11')

->315

dayofmonth(d)

計算日期d是本月的第幾天

select dayofmonth('2011-11-11 11:11:11')

->11

quarter(d)

返回日期d是第幾季節,返回1->4

select quarter('2011-11-11 11:11:11')

->4

hour(t)

返回t中的小時值

select hour('1:2:3')

->1

minute(t)

返回t中的分鐘值

select minute('1:2:3')

->2

second(t)

返回t中的秒鐘值

select second('1:2:3')

->3

四、系統資訊函式

系統資訊函式用來查詢mysql資料庫的系統資訊。

函式 作用

version()

返回資料庫的版本號

select version()

->5.0.67-community-nt

connection_id() 返回伺服器的連線數

database()、schema 返回當前資料庫名

user()、system_user()

返回當前使用者

五、加密函式

加密函式是mysql用來對資料進行加密的函式。

1、password(str)

該函式可以對字串str進行加密,一般情況下,password(str)用於給使用者的密碼加密。

select password('123')

->*23ae809ddacaf96af0fd78ed04b6a265e05aa257

2、md5

md5(str)函式可以對字串str進行雜湊,可以用於一些普通的不需要解密的資料加密。

select md5('123')

->202cb962ac59075b964b07152d234b70

3、encode(str,pswd_str)與decode(crypt_str,pswd_str)

encode函式可以使用加密密碼pswd_str來加密字串str,加密結果是二進位制數,需要使用blob型別的字段儲存。該函式與decode是一對,需要同樣的密碼才能夠解密。

select encode('123','xxoo')

->;vx

select decode(';vx','xxoo')

->123

空間資料庫

引用 空間資料庫指的是地理資訊系統在計算機物理儲存介質上儲存的與應用相關的地理空間資料的總和,一般是以一系列特定結構的檔案的形式組織在儲存介質之上的。空間資料庫的研究始於20 世紀 70年代的地圖製圖與遙感影象處理領域,其目的是為了有效地利用衛星遙感資源迅速繪製出各種經濟專題地圖。由於傳統的關聯式資...

Mysql 空間資料庫學習

建表 create database geodatabase use geodatabase create table test id int primary key auto increment,name varchar 128 not null,pnt point,line linestring...

地理空間資料庫

地理空間資料庫 課程介紹地理空間資料庫的空間資料型別 空間分析操作和空間索引,幫助學生理解ogc的簡單要素訪問規範 空間資料庫的基本概念和基本設計方法,通過幾何物件模型和空間網路模型在postgresql postgis pgrouting上的應用實踐,掌握地理資訊資料建庫 空間關聯分析 最短路徑查...