1. 程式人生 > 其它 >10 MySQL_字串函式和數學函式

10 MySQL_字串函式和數學函式

字串函式

1. 字串拼接 concat('aa','bb') ->aabb;
  • 查詢emp表中 員工姓名 和工資 工資後面顯示單位元

    select name,concat(sal,'元') from emp;
    
2. 獲取字串的長度 char_length('abc') 3
  • 案例: 查詢員工姓名和姓名的長度

    select name,char_length(name) from emp;
    
3. 獲取字串在另一個字串上出現的位置
  • 格式1: instr(str,substr);

    select instr('abcdef','c');

  • 格式2 : locate(substr,str);

    select locate ('c','abcdef');

4. 插入字串
  • 格式: insert ( str , start , length , newstr);

select insert ('abcdefg',3,2,'c');

5. 轉大小寫
  • 格式: upper() lower()

    `select upper('nba'),lower('NBa');`
    
6. 去兩端空白
  `select trim('   a b  ');`
7. 擷取字串
  • left(str,num);

    select left('abcdefg',3);

  • right(str,num);

    select right('abcdefg',3);

  • substring(str, start,end);

    select substring('abcdefg',2);
    select substring('abcdefg',2,3);
    
8. 重複: repeat(str,重複次數)

select repeat('abc',2);

9.替換 : replace(str,替換前的值,替換後的值);

select replace('abcdef','c','x');

10. 翻轉 reverse

select reverse('abc');

數學相關函式

1. 向下取整 floor(num)

select floor(3.84);   3	

2. 四捨五入round(23.8); 24

  • round(num,m);---m保留m位小數
select round(23.879,1);23.9

3.非四捨五入

select truncate(23.879,2); 23.87
  • 隨機數 rand() 0-1隨機的小數
    • 獲取3,4,5的隨機數
    • floor(rand()*3)+3;