10.数据库中的内置函数
字符串函數
查看字符的ascii碼值ascii(str),str是空串時返回0
查看ascii碼值對應的字符char(數字):select char(97);
拼接字符串concat(str1,str2...):selectconcat(12,34,'ab');
包含字符個數length(str):selectlength('abc');
截取字符串
left(str,len)返回字符串str的左端len個字符
right(str,len)返回字符串str的右端len個字符
substring(str,pos,len)返回字符串str的位置pos起len個字符
select substring('abc123',2,3);
去除空格
ltrim(str)返回刪除了左空格的字符串str
rtrim(str)返回刪除了右空格的字符串str
trim([方向remstr from str)返回從某側刪除remstr后的字符串str,方向詞包括both、leading、trailing,表示兩側、左、右
select trim('?bar?? ');
select trim(leading 'x' FROM 'xxxbarxxx');
select trim(both 'x' FROM 'xxxbarxxx');
select trim(trailing 'x' FROM 'xxxbarxxx');
返回由n個空格字符組成的一個字符串space(n):select space(10);
替換字符串replace(str,from_str,to_str)
大小寫轉換,函數如下lower(str)、upper(str)
?
數學函數
求絕對值ABS(n)的select abs(-32);
求米除以?的余數模(M,N),同運算符%:selectmod(10,3);select 10%3;
地板地板(n)時,表示不大于?的最大整數:selectfloor(2.3);
天花板的天花板(n)時,表示不小于?的最大整數:selectceiling(2.3);
求四舍五入值輪(N,D)中,n表示原數,D表示小數位置,默認為0
select round(1.6);
求X的y次冪POW(X,Y):select pow(2,3);
獲取圓周率PI():select PI();
隨機數RAND(),值為0-1.0的浮點數:select rand();
?
日期時間函數
獲取子值,值為整數類型,函數如下
年(日)返回日期的年份(范圍在1000到9999)
月(日)返回日期中的月份數值
日(日)返回日期中的日期數值
小時(時間)返回時間的小時數(范圍是0到23)
分鐘(時間)返回時間的分鐘數(范圍是0到59)
第二(時間)返回時間的秒數(范圍是0到59)
select year('2016-12-21');
日期計算,使用+- 運算符,數字后面的關鍵字為年,月,日,時,分,秒
select '2016-12-21'+interval 1 day;
日期格式化DATE_FORMAT(日期,格式)
參數格式可選值如下
%Y 獲取年,返回完整年份
%y 獲取年,返回簡寫年份
%m 獲取月,返回月份
%d 獲取日,返回天值
%H 獲取時,返回24進制的小時數
%h 獲取時,返回12進制的小時數
%i 獲取分,返回分鐘數
%s 獲取秒,返回秒數
示例如下:將使用- 拼接的日期轉換為使用空格拼接
select date_format('2016-12-21','%Y %m %d');
當前日期CURRENT_DATE()select current_date();
當前時間的current_time()selectcurrent_time();
現在當前日期時間()select now();
?
類型轉換函數
有投和轉換兩個函數
語法如下:
cast(value as type)
convert(value, type)
值表示要轉換的值,鍵入表示目標類型
目標類型如下:
二進制二進制
字符型炭,可指定字符個數如炭(10)
日期日期
時間時間
日期時間型日期時間
浮點數小數
整數簽署
無符號整數無符號
例SELECTCONVERT('125.83',SIGNED);SELECT CAST('125.83' AS signed);
?
流程控制
類似于python中的if語句,進行選擇判斷
case語法1:等值判斷
說明:當值等于某個比較值的時候,對應的結果會被返回;如果所有的比較值都不相等則返回else的結果;如果沒有else并且所有比較值都不相等則返回null
case 值when 比較值1 then 結果1when 比較值2 then 結果2... else 結果 end
例:
select case 1 when 1 then 'one' when 2 then 'two' else 'zero' end as result;
case語法2:非等值判斷,可以進行 > 、<、!=等判斷
說明:當某個條件返回true時,對應的結果被返回;如果所有的條件都不返回true則返回else的結果;如果沒有else并且所有條件都不返回true則返回null
case when 條件1then 結果1 when 條件2 then 結果2... else 結果 end
例:
select case when 1 > 2 then 'part1' when 3 > 2 then 'part2' else 'part3'end as result;
if語句,說明:如果表達式的結果為true,則返回結果1,否則返回結果2
if(表達式,結果1,結果2)
例:select if(1 > 2,2,3) as result;
ifnull語句,說明:如果表達式1不為null,則返回表達式1的結果,否則返回表達式2的結果
ifnull(表達式1,表達式2)
例:select ifnull(1,0) as result;
nullif語句,說明:如果表達式1等于表達式2,則返回null,否則返回表達式1的結果
nullif(表達式1,表達式2)
例:select nullif(1,0) as result;
?
?
總結
以上是生活随笔為你收集整理的10.数据库中的内置函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 经典100例(1-20)
- 下一篇: 5.数据库设计