zoukankan      html  css  js  c++  java
  • mysql

    select version();
    -- 8.0.18
    
    
    ##################################MySQL 字符串函数##################################
    -- 返回字符串 s 的字符数
    select CHAR_LENGTH('abcdef') as `length`; #6
    select CHAR_LENGTH('哈哈') as `length`; #2
    select CHARACTER_LENGTH('abcdef') as `length`; #6
    select CHARACTER_LENGTH('哈哈') as `length`; #2
    
    -- CONCAT(s1,s2...sn)
    -- 字符串 s1,s2 等多个字符串合并为一个字符串
    select concat('one', '-', 'two', '-', 'three') as `合并字符串`; #one-two-three
    
    -- CONCAT_WS(x, s1,s2...sn)
    -- 同 CONCAT(s1,s2,...) 函数,但是每个字符串之间要加上 x,x 可以是分隔符
    select concat_ws('-', 'one', 'two', 'three') as `合并字符串`; #one-two-three
    
    -- LOCATE(s1,s)
    -- 从字符串 s 中获取 s1 的开始位置【特别注意位置是从1开始的】
    select locate('st', 'verygondstring') as `开始位置`; #9
    
    -- 将字符串 s 的所有字母变成大或小写字母
    select lcase('abCDeF') as `全变小写`; #abcdef
    select ucase('abCDeF') as `全变大写`; #ABCDEF
    select lower('abCDeF') as `全变小写`; #abcdef
    select upper('abCDeF') as `全变大写`; #ABCDEF
    
    -- LEFT(s,n)
    -- 返回字符串 s 的前 n 个字符
    select left('abcdef', 2) as `结果`; #ab
    select right('阖家安康很快就暗访', 2) as `结果`; #暗访
    
    -- LTRIM(s)
    -- 去掉字符串 s 开始处的空格
    select ltrim(' sdhja ') as `去掉开头的空格`; #[sdhja ]
    select rtrim(' sdhja ') as `去掉结尾的空格`; #[ sdhja]
    select trim(' sdhja ') as `去掉首尾空格`; #[sdhja]
    
    -- REPLACE(s,s1,s2)
    -- 将字符串 s2 替代字符串 s 中的字符串 s1
    select replace('abcdef', 'cd', '1234') as `替换指定字符`; #ab1234ef
    
    -- SUBSTR(s, start, length)
    -- 从字符串 s 的 start 位置截取长度为 length 的子字符串
    select substr('abcdef', 2, 2) as `截取`; #bc
    select substr('abcdef', 2) as `从第2个开始截取之后的全部`; #bcdef
    select substring('哈师大的阿萨德', 2, 2) as `截取`; #师大
    select substring('哈师大的阿萨德', 2) as `从第2个开始截取之后的全部`; #师大的阿萨德
    
    -- FORMAT(x,n)
    -- 函数可以将数字 x 进行格式化 "#,###.##", 将 x 保留到小数点后 n 位,最后一位四舍五入。
    select format('23456.6789', 2) as `value`; #23,456.68
    select format(23456.6789, 2) as `value`; #23,456.68
    
     
    
    ##################################MySQL 数字函数##################################
    -- 向上取整
    select ceil(1.5) as `result`; #2
    select ceiling(1.3) as `result`; #2
    
    -- 向下取整
    select floor(1.6) as `result`; #1
    
    -- 四舍五入
    select round(1.4) as `result`; #1
    select round(1.5) as `result`; #2
    
    -- 集合函数
    -- avg(`expression`)
    -- count(`expression`)
    -- max(`expression`)
    -- min(`expression`)
    -- sum(`expression`)
    
    -- 返回 0 到 1 的随机数 
    select rand();
    
    
    ##################################MySQL 日期函数##################################
    select now() as `当前日期和时间`; #yyyy-MM-dd HH:mm:ss
    
    select sysdate() as `当前日期和时间`; #yyyy-MM-dd HH:mm:ss
    
    select curdate() as `当前日期`; #yyyy-MM-dd
    
    select curtime() as `当前时间`; #HH:mm:ss
    
    select adddate(now(), 1) as `加n天`;
    
    select addtime(now(), 1000) as `加n秒`;
    
    select date('2020/10/10 12:12:12') as `取日期部分`; #yyyy-MM-dd
    
    select time('2020/10/10 12:12:12') as `取时间部分`; #HH:mm:ss
    
    select datediff('2020-10-10', '2019-10-10') as `相隔天数`;
    
    select dayname(now()) as `星期几`; #返回日期 d 是星期几,如 Monday,Tuesday
    
    select dayofweek(now()) as `星期几`; #日期 d 今天是星期几,1 星期日,2 星期一,以此类推
    
    select dayofyear(now()) as `本年第几天`;
    
    select last_day(now()) as `本月最后一天`; #yyyy-MM-dd
    
    select quarter(now()) as `第几个季节`; #1 ~ 4
    
    select year(now()) as `年值`;
    
    select month(now()) as `月值`; #1 ~ 12
    
    select day(now()) as `日值`;
    
    select hour(now()) as `时值`;
    
    select minute(now()) as `分钟值`;
    
    select second(now()) as `秒值`;
    
    select sec_to_time(1234) as `以秒为单位的时间s转时分秒格式`; #HH:mm:ss
    
    select time_to_sec('20:20:20') as `将时间 t 转换为秒`;
    
    select timediff('2020-10-10 12:12:12', '2020-10-10 13:12:12') as `计算时间差值`; #[-]HH:mm:ss
    
    
    ##################################MySQL 高级函数##################################
    
    set @param = 4;
    select 
    	case @param 
    		when 1 then 'one' 
    		when 2 then 'two' 
    		else 'six' 
    	end as result1,
    	case
    		when @param = 1 then 'one'
    		when @param = 2 then 'two'
    		else 'five'
    		end as result2;
    		
    -- CAST(x AS type)
    -- 转换数据类型
    select cast('2017-09-09' as date) as result;
    
    -- 返回唯一的连接 ID
    select connection_id();
    
    -- IF(expr,v1,v2)
    -- 如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2。
    select if(1=2, 1, 2) as result; 
    
    -- IFNULL(v1,v2)
    -- 如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。
    select ifnull(null, 1) as result;
    
    -- ISNULL(expression)
    -- 判断表达式是否为 NULL, 为null返回1,否则返回0
    select isnull('') as result;
    
    -- 	返回最近生成的 AUTO_INCREMENT 值
    select last_insert_id();
    
    -- NULLIF(expr1, expr2)
    -- 比较两个字符串,如果字符串 expr1 与 expr2 相等 返回 NULL,否则返回 expr1
    select nullif(25, 25) as result;
    

      

  • 相关阅读:
    [Cocos2d-x]Cocos2d-x开发中C++调用Object-c
    [数据结构]基本概念
    [Cocos2d-x]Mac下运行HelloCpp For Android
    [Android] JDK , NDK , JNI
    [Cocos2d-x]坐标系
    [Android]mac下开发环境搭建
    [Cocos2d-x]博客推荐
    nyoj-506-洗澡
    nyoj-479-Coprimes
    nyoj-464-Cookies
  • 原文地址:https://www.cnblogs.com/gygtech/p/13794130.html
Copyright © 2011-2022 走看看