zoukankan      html  css  js  c++  java
  • 函数.function

    在MySQL中有许多内置函数,也可以自定义函数。函数可以传参数,也可以接收返回值。但是函数没有办法得到执行语句得到结果,储存过程可以。

    1.内置函数:

    char_length(str)            返回值为字符串str的长度,长度的单位为字符,一个多字节字符算一个单字符。对于一个包含5个二字节的字符集,length返回值为10,而char_length()的返回值为5.

    concat(str1,str2...)              字符串拼接,如有任何一个参数为null,则返回null

    concat_ws(separator,str1,str2...)   字符串拼接(自定义连接符)

      concat_ws 不会忽略所有的空字符串(然而会忽略所有的null)

    conv(n,from_base,to_base)     进制转换 (a,16,2)  将a从16进制转换为2进制

    format(x,d)              将数字X的格式写为“#,###,###.###”,以四舍五入的方式保留小数点后d位,并将结果以字符串的形式返回。若d为0,则返回结果不带有小数点,或不含小数部分。

    insert(str,pos,len,newstr)       在str指定的位置插入字符串(pos要替换的位置 ,len要替换的长度, newstr新字符串)

        注意:如果pos超过原字符串的长度,则返回原字符串

          如果len 超过原字符串的长度,则由新字符串完全替换

    inser(str,substr)           返回字符串str中子字符串的第一个出现的位置。

    left(str,len)             返回字符串str从开始的len位置的子序列字符

    lower(str)   变小写       upper(str)  变大写

    ltrim(str)               返回字符串str起引导空格字符串被删除

    rtrim(str)               返回字符串str结尾空字符串被删除

    substring(str,pos,len)         获取子序列索引位置

    repeat(str,count)           返回一个由重复的字符串str组成的字符串,字符串str的数目等于count,若count<=0,则返回一个空字符串;若str或count为null,则返回null

    replace(str,from_str,to_str)     返回字符串str以及所有被字符串to_str代替的字符串from_str。

    reverse(str)              返回字符串str,顺序和字符顺序相反

    right(str,len)             从字符串str开始,返回从后边开始len个字符组成的子序列

    space(n)                返回一个由n个空格组成的字符串

    substring(str,pos),substring(str from pos)  substring(str,pos,len),substring(str from pos for len)

    不带有len参数的格式从字符串str返回一个子字符串,起始于位置pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置pos。使用from的格式为标准的SQL语法。

    也可能对pos使用一个负值,若这样。则子字符串的位置起始于字符串结尾的pos字符,而不是字符串的开始位置。

    2.自定义函数

    3.删除函数:

     drop function f1;

    4.执行函数:

      获取返回值   declare @i varchar(31);

           selecet upper (‘李’) into @i;

           select  @i;

    在查询中使用

           select  f1(11,nid),name from tb2;

    事务:事务用于将某些操作的多个SQL语句作为原子性操作,一旦有某个出现失误,则返回原来的状态,从而保证数据库中数据的完整性。

    触发器:简单来说就是在执行这条语句之前或之后触发一次增删改查,触发器用于定制用户对表的行进行【增,删,改】前后的行为。

      nwe表示即将插入的数据行,old表示即将删除的数据行

    删除触发器

      drop trigger sri_after_insert_tb1;

    使用触发器

      触发器无法由用户直接调用,而由对于表的【增,删、改】操作被动引发的

      insert into tb1(name) values(‘李’)

  • 相关阅读:
    Spring Data MongoDB 一:入门篇(环境搭建、简单的CRUD操作)
    如何大幅提升web前端性能之看tengine在大公司架构实践
    SSM+redis整合(mybatis整合redis做二级缓存)
    Spring中报"Could not resolve placeholder"的解决方案(引入多个properties文件)
    Windows下安装Redis并注册为服务
    关于Local System/Local Service/Network Service账户
    在Windows下将Redis注册为本地服务
    Windows服务已经标记为删除
    SpringBoot集成MyBatis的分页插件PageHelper
    【Tomcat】Tomcat下设置项目为默认项目
  • 原文地址:https://www.cnblogs.com/jacky912/p/10314654.html
Copyright © 2011-2022 走看看