一、數學函式
數學函式主要用於處理數字,包括整型、浮點數等。
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
insert into login values('lch','alvin',encode('123','xxoo'),'50')
select name,decode(password,'xxoo') from login where username='lch'
python常用函式 enumerate函式
1 如果對乙個列表,既要遍歷索引又要遍歷元素時,首先可以這樣寫 list1 這 是 乙個 測試 for i in range len list1 print i list1 i 2 上述方法有些累贅,利用enumerate 會更加直接和優美 list1 這 是 乙個 測試 for index,ite...
sql中nvl,cast,power等常用函式
1 nvl 表示式1,表示式2 如果1為空,則該函式取表示式2的值 如 b nvl a,0 如果a值為空,b取0 2 nvl 表示式1,表示式2,表示式3 如果1有值,取2,如果1為空,取表示式3的值 總之 如果1為空,都取最後乙個引數的值 3 power用法 power a,b 這是求冪次方,a的...
OpenGL GLSL 內建變數與 常用內建函式
在著色器中我們一般都會宣告變數來在程式中使用,但是著色器中還有一些特殊的變數,不宣告也可以使用。這些變數叫做內建變數。內建變數,相當於著色器硬體的輸入和輸出點,使用者利用這些輸入點輸入之後,就會看到螢幕上的輸出。通過輸出點可以知道輸出的某些資料內容。當然,實際上肯定不會這樣簡單,這麼說只是為了幫助理...