mysql文本函数和数字函数及thinkphp的附带应用
编辑时间:2017-03-26 作者:金满斗 浏览量:1676 来源:原创

今天帮别人改个东西,当时mysql数据库设计的有点问题,一行列里每个数字你都带了万,但又要用到这行的数字比较查询。

先百度转下别人的

文本处理函数

函数

说明

Concat(t1,t2,....)

连接字符串

Concat_ws(s,t1,t2.....)

返回t1st2的字符串

Left(t,y)

返回串t左边y个的字符

Right(t,y)

返回串t右边y个的字符

Length(t)

返回串t的长度

Lower(t)

将串转换为小写

Upper(t)

将串转换为大写

LTrim()

去掉串左边的空格

RTrim()

去掉右边的空格

Trim(t)

去掉左右两边的空格

Replace(t1,t2,t3)

把t1字符串中的t2换为t3

SubString(t,x,y)

返回t中始于x的y个字符的串

Select concat(firstname,’’,lastname) from users;

Select concat(firstname,’’,lastname) as name  from users;

Select length(firstname) as name_length from users;

 

数值处理函数

函数

说明

Abs()

返回一个数的绝对值

Cos()

返回一个角度的余弦

Exp()

返回一个数的指数值

Mod()

返回除操作的余数

Pi()

返回圆周率

Pow(n1,n2)

N1的n2次方

Rand()

返回一个随机数

Round(n1,n2)

返回数n1,它被四舍五入为n2位小数

Sin()

返回一个角度的正弦

Sqrt()

返回一个数的平方根

Tan()

返回一个角度的正切

Ceiling(n)

基于n的值的下一个最大的整数

Floor

返回n的整数值

Format(n1,n2)

返回格式化为一个数的n1,这个数带有n2位小数,并且每3位之间插入一个逗号



在直接上代码吧,懒得打字。哎。thinkphp代码片段

$area = I("get.area");       //价格
                /*第4部,按价格查询*/
        if(!empty($area)){
            $patterns = "/\d+/";
            $areatab = array();
            preg_match_all($patterns,$area,$areatab);
            
            //var_dump(count($areatab[0]) );
            if(count($areatab[0]) == 1){
                if(strpos($area, "以上")){
                $begtxt = $areatab[0][0];
                $condition['_string'] = " FLOOR( REPLACE( attrPrice,  '万',  '' ) ) > $begtxt";
                }  else {
                $endtxt = $areatab[0][0];
                $condition['_string'] = " FLOOR( REPLACE( attrPrice,  '万',  '' ) ) < $endtxt";
                }  
            }elseif (count($areatab[0]) == 2) {
                $begtxt = $areatab[0][0];
                $endtxt = $areatab[0][1];
                $condition['_string'] = " FLOOR( REPLACE( attrPrice,  '万',  '' ) ) > $begtxt  and  FLOOR( REPLACE( attrPrice,  '万',  '' ) ) < $endtxt";
             }  
        }          
        $count = $goods->where($condition)->count();
        $con = 20 ;   //每页数量
        $page = new \Component\Page($count,$con);// 实例化分页类 传入总记录数和每页显示的记录数
        $display=array(3,4,6);    //显示样式
        $pagehtml = $page->fpage($display);      //获取页码列表
        //详情
        $list = $goods->Where($condition)->Order('nosort,id desc')->limit(($page->page-1)*$con.", $con")->Select(); 
        $this->assign('list', $list);     //详情列表
        $this->assign('pageshow',$pagehtml);    //分页页面

来说两句吧