zoukankan      html  css  js  c++  java
  • MySQL

    #-----------------------------------
    #1.正则表达式检索 [RegexP]
    #-----------------------------------
    # * Binary字段可以支持大小写匹配
    # * 文本开始^(集合中是否定) 结束$
    select * from goods where bid RegexP Binary 'E|a' # * | 为或
    select * from goods where bid RegexP Binary '[123]Ton' # * [123]Ton为匹配 1Ton 2Ton 3Ton
    select * from goods where bid RegexP Binary '[1-3]Ton' * 同上
    select * from goods where bid RegexP Binary '[^123]Ton' # * [123]Ton为不匹配 1Ton 2Ton 3Ton
    select * from goods where bid RegexP Binary '\.' # * 匹配特殊字符需要\转义
    * 也可以匹配元字符, \f \n \r \t \v

    select 'justalnums' REGEXP '[[:alpha:]]'; # * [:alpha:] 为任意字符(同[a-zA-Z])
    * 其他character class:
    alnum,blank,cntrl,digit,graph,lower,print,punct,space,upper,xdigit

    select '***' RegexP '\([0-9] sticks?)\' #
    select '***' RegexP '[[:digit:]]{4}' # 存在4位数字的


    #-----------------------------------
    #2.函数
    #-----------------------------------
    字符函数
    * IFNull() = COALESCE()
    时间函数
    * now(),curdate(),curtime(),dayofweek(now()) *第一日是周日
    * addDate(DataChange_CreateTime,-1),AddTime(DataChange_CreateTime,-1)
    * Date(DataChange_CreateTime),year(DataChange_CreateTime),month(DataChange_CreateTime),day(DataChange_CreateTime)
    * time(DataChange_CreateTime),hour(DataChange_CreateTime),minute(DataChange_CreateTime),second(DataChange_CreateTime)
    * DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
    * date_add(DataChange_CreateTime, interval 1 DAY_MINUTE) * 增
    * date_sub(DataChange_CreateTime, interval 1 DAY_MINUTE) * 减

    * SELECT now(),unix_timestamp( now() ),from_unixtime(unix_timestamp( now() )) *UTC系统时间戳 与 当前时区timestamp 转换

    数值函数
    floor()向上取整 round()四舍五入 rand()随机数 ceil() ceiling()向下取整


    #-----------------------------------
    #3.游标
    #-----------------------------------
    delimiter //
    CREATE PROCEDURE TestCursor()
    BEGIN
    DECLARE v_id INT;
    DECLARE v_value VARCHAR(10);

    -- 游标控制的标志
    DECLARE no_more_departments INT;

    -- 定义游标.
    DECLARE c_test_main CURSOR
    FOR
    SELECT goodsid,cast(now() as CHAR) as value FROM goods;

    -- 当游标没有数据的时候
    -- 设置 no_more_departments = 1
    DECLARE CONTINUE HANDLER
    FOR
    NOT FOUND SET no_more_departments=1;

    -- 设置初始标志位,认为游标是有数据的.
    SET no_more_departments=0;

    -- 打开游标
    OPEN c_test_main;

    -- 获取游标数据
    FETCH c_test_main INTO v_id, v_value;

    -- 循环所有的行
    WHILE no_more_departments = 0 DO
    -- 输出调试信息
    SELECT v_id, v_value;
    -- 获取游标数据
    FETCH c_test_main INTO v_id, v_value;
    END WHILE;

    -- 关闭游标
    CLOSE c_test_main;
    END
    //

    #drop procedure TestCursor;
    CALL TestCursor();

  • 相关阅读:
    声明、定义本质的区别:有无内存的分配
    typedef 与 define 的区别
    Linux内核中链表的学习
    C语言数据类型的转换
    状态机
    170311php添加留言页面
    170314网络编程之TCP聊天窗口
    php课堂2简单作业+文件上传之案例
    php案例2——用户列表页
    学生管理系统
  • 原文地址:https://www.cnblogs.com/streetpasser/p/5587970.html
Copyright © 2011-2022 走看看