zoukankan      html  css  js  c++  java
  • mysql-笔记-控制语句/string方法

    1 case

    case value when [compare_value] then result [when[compare_value] then result....] [else result] end

    case when [condition] then result [when [condition] then result...][else result] end

    如果没有 条件是真,则 返回else 中的结果,如果没有else 则返回 null

    2 if(expr1,expr2,expr3)

    如果 expr1是真,且不是 0 或null,返回 expr2,否则返回 expr3

    3 ifnull(expr1,expr2)

    如果 expr1 不是null,返回 expr1,否则返回expr2

    4 nullif(expr1,expr2) return null if expr1=expr2 

    如果 expr1=expr2 是真 则返回 null,否则返回 expr1 相当于:case when expr1=expr2 then null else expr1 end.

    5 操作字符串位置的函数,第一个位置的索引为1
    对于接受长度参数,如果 不是整数,由四舍五入到最近的整数

    6 concat(str1,str2,...)如果有参数是null,则返回null

    7 select 'my' 's' 'ql';可得到连接的字符串

    8 concat_ws(separator,str1,str2,....) 使用分隔符连接字符串。如果分隔符是null 则返回null,不会跳过分隔符后的 空字符串,会跳过分隔符后的null值

    9 elt(n,str1,str2,str3....) 返回第n个元素 从1开始。如果n小于1 或大于 参数数量 则返回null,是field()的补充

    10 field(str,str1,str2,str3,...) 返回str在其后的参数中的位置,如果没有找到则返加0,如果str是null ,返回0

    11 find_in_set(str,strlist) strlist 是由,分隔的字符串,返回 str 在strlist中的位置,SELECT FIND_IN_SET('b','a,b,c,d');

    如果str不在strlist中或strlist是空的字符串,返回0,如果任何一个参数是null则返回null,

    如果第一个参数包含逗号,则不能正常执行。

    12 format(X,D[,locale]) 格式化数字X 取近似值到D个小数,返回值是字符串,如果D是0,返回值没有小数位。第3个可选参数可指定一个区域格式化小数位,默认为 'en_US'

    format(123.55,1);

    13 from_base64(str); 将用to_base64()编码的字符串,解码为字符串,如果参数不是有效的64位编码字符串,返回null

    select from_base64(to_base64('abc'));

    to_base64(str)将字符串参数转化为64位编码字符串

    14 insert(str,pos,len,newstr);

    返回从pos 位置开始长度为len 字符串替换为 newstr的新字符串。如果 pos没有在str中,则返回原字符串,如果len位置大于剩余字符串,则返回字符串中没有剩余字符串。insert('abcdef',2,4,'the')

    15 instr(str,substr); 返回 substr在str中的第一个匹配位置

    16 lcase(str) 同 lower()

    lower()对二进制字符串无效 binary varbinary blob,转化为非二进制字符串

    ucase(str) 同 upper() 返回所有字符的大写字母

    set @str= bynary 'New'; select Lower(@str); select Lower(convert(@str using latin1));

    17 left(str,len);从str返回最左侧的长度为len的字符串

    right(str,len)从str返回最右侧长度为len的字符串

    18 length(str):返回字符串的长度,按字节返回,汉字返回 2,char_length()返回1

    octet_length(str)

    19 locate(substr,str) 返回substr在str中的位置

    locate(substr,str,pos) 返回substr在str中从pos开始的位置

    postion(substr in str)

    如果没有找到,返回0,如果substr 或 str中有一个null,则返回null

    20 LPAD(str,len,padstr) 返回str使用padstr填充str左侧到len长度,如果 str长度大于len 则返回len个字符

    RPAD(str,len,padstr)右侧填充padstr到str

    21 LTRIM(str):去掉字符串的左侧空格

    Rtrim(str):去掉字符串右侧空格

    Trim([{both | leading | trailing}[remstr] from ] str)

    Trim([remstr from ]str)

    返回去掉了前缀或后缀的 remstr 的字符串str。如果没有指定 both/leading/trailing,默认为both.如 果没有指定 remstr ,移除空格

    select trim('  bar  '); select trim (leading 'x' from 'xxxbarxx');select trim(both 'x' from 'xxbarxx');select trim(trailing 'x' from 'xbarx');

    22 MID(str,pos,len) 同substring(str,pos,len)

    substr(str,pos),substr(str from pos);substr(str,pos,len),substr(str from pos for len)

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

    pos可以是负数,表示从字符串的结尾开始向后取值

    23 oct(N)转化为8进制

    24 quote(str) 对str 加单引号

    25 repeat(str,count);返回str重复count次的字符,如果count小于1 则返回空字符串,如果参数有一个为null则返回null

    26 replace(str,from_str,to_str); 返回字符串 str中所有的用to_str替换from_str 后的字符串 ,from_str 大小写敏感

    27 reverse(str)反转字符串

    28 space(N)返回包含N个空格的字符串

    29 substring_index(str,delim,count) 返回字符串从str中取第count个分隔符前的字符串。如果count是负数,则从结尾向前取第count个分隔符之后的字符串

    select substring_index('www.mysql.com','.',2)

    select substring_index('www.mysql.com','.',-2)

    30 expr like pat [escape 'escape_char'] :空格有效 

    select 'a'='a ','a' like 'a ';

    可使用通配符:% 配置任何数量的字符,包括0个字符;_ 匹配确切的一个字符

    使用escape子句-指定不用的转义字符:select 'david_' like 'david|_' escape '|';

    escape 子句应该是空或是1个字符长,表达式在执行时必须是一个常量

    mysql允许在数字表达式中 使用like select 10 like '1%'

    在like 字符串中必须用双 表示一个

    expr not like pat [escape 'escape_char']

    null not like  总是返回 null 

    31 strcmp(expr1,expr2) 如果字符串相同返回0,如果expr1 小于 expr2 返回-1;否则 返回 1

    32 charset(binary 'a') collation(binary 'a' ) 返回 binary 类型

  • 相关阅读:
    redis持久化RDB与AOF
    oracle PL/SQL习题
    pl/sql中的三种循环
    转 Oracle Cursor用法总结
    Oracle与MySQL的SQL语句区别
    安装mysql 遇到最后一步卡死解决方案
    Oracle安装
    mysql安装
    sql语句的优先级
    MVC设计模式
  • 原文地址:https://www.cnblogs.com/caojuansh/p/10609142.html
Copyright © 2011-2022 走看看