zoukankan      html  css  js  c++  java
  • mysql函数应用

    昨天测试时发现大佬暴力修改了数据库的某些字段,导致无法人员注册,按理说屏蔽关键信息应该是只将身份证的几位改为*就好。

    为了继续测试,自力更生,寻求正确的sql语句修改,学习到一些方便的函数

    concat函数
    使用方法:
    CONCAT(str1,str2,…)  

    返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

    MID()函数

    SQL MID() 函数用于得到一个字符串的一部分。这个函数被MySQL支持,但不被MS SQL Server和Oracle支持。在SQL Server, Oracle 数据库中,我们可以使用 SQL SUBSTRING函数或者 SQL SUBSTR函数作为替代。

    MID() 函数语法为:

    1 SELECT MID(ColumnName, Start [, Length])
    2 FROM TableName

    注:字符串从1开始,而非0,Length是可选项,如果没有提供,MID()函数将返回余下的字符串。

    LEFT()函数

    是一个字符串函数,它返回具有指定长度的字符串的左边部分。

      LEFT(Str,length);

      接收两个参数:

        str:一个字符串;

        length:想要截取的长度,是一个正整数;

    right()函数同理,只是从右边开始截取

    最后放上测试用的sql 

    SELECT
    CONCAT("UPDATE `persons` SET LastName='",CONCAT(LEFT(LastName,1),'**',RIGHT(LastName,2)),"' WHERE (`LastName`='",LastName,"') LIMIT 1;"
    )
    FROM
    persons

    双引号内部要执行表达式用逗号隔开,不然执行时还是当字符串。

  • 相关阅读:
    面向对象程序设计寒假作业2
    终于开通了园子里的贴号
    java中与类继承相关的知识点
    动态代理机制之查看一个类或接口中有哪些方法
    动态代理
    xml与html的区别
    深入理解linux i节点(inode)
    netstat命令
    关于C++ const 的全面总结
    linux 下 进程和线程的区别
  • 原文地址:https://www.cnblogs.com/henry2019/p/14313788.html
Copyright © 2011-2022 走看看