Mysql儲存過程 字元類操作

2021-04-26 01:24:26 字數 4297 閱讀 9949

一.字串類

concat (string2  [,... ]) //連線字串

instr (string ,substring ) //返回substring首次在string中出現的位置,不存在返回0

lcase (string2 ) //轉換成小寫

left (string2 ,length ) //從string2中的左邊起取length個字元

length (string ) //string長度

load_file (file_name ) //從檔案讀取內容

locate (substring , string  [,start_position ] ) 同instr,但可指定開始位置

lpad (string2 ,length ,pad ) //重複用pad加在string開頭,直到字串長度為length

ltrim (string2 ) //去除前端空格

repeat (string2 ,count ) //重複count次

replace (str ,search_str ,replace_str ) //在str中用replace_str替換search_str

rpad (string2 ,length ,pad) //在str後用pad補充,直到長度為length

rtrim (string2 ) //去除後端空格

strcmp (string1 ,string2 ) //逐字元比較兩字串大小,

substring (str , position  [,length ]) //從str的position開始,取length個字元,

注:mysql中處理字串時,預設第乙個字元下標為1,即引數position必須大於等於1

mysql> select substring(』abcd』,0,2);

+———————–+

| substring(』abcd』,0,2) |

+———————–+

|                       |

+———————–+

1 row in set (0.00 sec)

mysql> select substring(』abcd』,1,2);

+———————–+

| substring(』abcd』,1,2) |

+———————–+

| ab                    |

+———————–+

1 row in set (0.02 sec)

trim([[both|leading|trailing] [padding] from]string2) //去除指定位置的指定字元

ucase (string2 ) //轉換成大寫

right(string2,length) //取string2最後length個字元

space(count) //生成count個空格 

二.數學類

abs (number2 ) //絕對值

bin (decimal_number ) //十進位制轉二進位制

ceiling (number2 ) //向上取整

conv(number2,from_base,to_base) //進製轉換

floor (number2 ) //向下取整

format (number,decimal_places ) //保留小數字數

hex (decimalnumber ) //轉十六進製制

注:hex()中可傳入字串,則返回其asc-11碼,如hex(』def』)返回4142143

也可以傳入十進位制整數,返回其十六進製制編碼,如hex(25)返回19

least (number , number2  [,..]) //求最小值

mod (numerator ,denominator ) //求餘

power (number ,power ) //求指數

rand([seed]) //隨機數

round (number  [,decimals ]) //四捨五入,decimals為小數字數]

注:返回型別並非均為整數,如:

(1)預設變為整形值

mysql> select round(1.23);

+————-+

| round(1.23) |

+————-+

|           1 |

+————-+

1 row in set (0.00 sec)

mysql> select round(1.56);

+————-+

| round(1.56) |

+————-+

|           2 |

+————-+

1 row in set (0.00 sec)

(2)可以設定小數字數,返回浮點型資料

mysql> select round(1.567,2);

+—————-+

| round(1.567,2) |

+—————-+

|           1.57 |

+—————-+

1 row in set (0.00 sec)

sign (number2 ) //返回符號,正負或0

sqrt(number2) //開平方

三.日期時間類

addtime (date2 ,time_interval ) //將time_interval加到date2

convert_tz (datetime2 ,fromtz ,totz ) //轉換時區

current_date (  ) //當前日期

current_time (  ) //當前時間

current_timestamp (  ) //當前時間戳

date (datetime ) //返回datetime的日期部分

date_add (date2 , interval d_value d_type ) //在date2中加上日期或時間

date_format (datetime ,formatcodes ) //使用formatcodes格式顯示datetime

date_sub (date2 , interval d_value d_type ) //在date2上減去乙個時間

datediff (date1 ,date2 ) //兩個日期差

day (date ) //返回日期的天

dayname (date ) //英文星期

dayofweek (date ) //星期(1-7) ,1為星期天

dayofyear (date ) //一年中的第幾天

extract (interval_name  from date ) //從date中提取日期的指定部分

makedate (year ,day ) //給出年及年中的第幾天,生成日期串

maketime (hour ,minute ,second ) //生成時間串

monthname (date ) //英文月份名

now (  ) //當前時間

sec_to_time (seconds ) //秒數轉成時間

str_to_date (string ,format ) //字串轉成時間,以format格式顯示

timediff (datetime1 ,datetime2 ) //兩個時間差

time_to_sec (time ) //時間轉秒數]

week (date_time [,start_of_week ]) //第幾周

year (datetime ) //年份

dayofmonth(datetime) //月的第幾天

hour(datetime) //小時

last_day(date) //date的月的最後日期

microsecond(datetime) //微秒

month(datetime) //月

minute(datetime) //分

附:可用在interval中的型別

day ,day_hour ,day_minute ,day_second ,hour ,hour_minute ,hour_second ,minute ,minute_second,month ,second ,year 

三、其它

select last_insert_id(); //返回最後新增的自增id,注意,當insert into s(name) values('a'),('b'),('c')時,返回的只是插入a記錄的自增id,而不是c的自增id

select row_count() ;//返回上一次運算元據的影響行數,如插入新資料會返回影響的行數,只返回最近的一次

MYSQL 儲存過程操作

儲存過程 stored procedure 是一組為了完成特定功能的sql語句集 批量插入 是將常用或複雜的工作,預先用sql語句寫好並用乙個指定名稱儲存起來,以後需要資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫 call 儲存過程名字,即可自動完成命令。儲存過程是由流控制和sql語句...

mysql儲存過程 MySQL儲存過程

在本節中,您將逐步學習如何在mysql中編寫和開發儲存過程。首先,我們向您介紹儲存過程的概念,並討論何時使用它。然後,展示如何使用過程 的基本元素,如建立儲存過程的語句,if else,case,loop,儲存過程的引數。下面每個教程都包含了易於理解的示例和詳細的說明。如果您瀏覽並學習所有教程,您可...

mysql 儲存過程 mysql 儲存過程

建立 為建立儲存過程的結束標誌,使用delimiter 可更改標誌 格式create procedure begin sqlend create procedure myprocedure in param integer begin select from tb role where tb rol...