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

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

  • 相关阅读:
    Linux常用命令琐记
    JDK 在linux下支持epoll了
    八卦
    JDK 1.6中的并发
    关于Atomic
    关于并发程序设计(二)
    关于并发程序设计 (一)
    Herb Sutter的一些观点
    想到Exchanger N parties的一种用法
    该拒绝MSN Messager了
  • 原文地址:https://www.cnblogs.com/henry2019/p/14313788.html
Copyright © 2011-2022 走看看