日期:2014-05-16 浏览次数:20798 次
/** * ============================================================================ * 名称: util_sysdate * 描述: 模拟mysql中sysdate() * 作者: david * ============================================================================ */ function util_sysdate(){ if($this->config['db_dsn']['phptype']=='mssql'){ $value_returned='getdate()'; }elseif($this->config['db_dsn']['phptype']='mysql'){ $value_returned='sysdate()'; }else{ $value_returned='sysdate'; } return $value_returned; } /** * ============================================================================ * 名称: util_ifnull * 描述: 模拟mysql中ifnull() * 参数: $check_value : 要检查的值 * $isnull_return : 当$check_value为null时,返回的值 * 作者: david * ============================================================================ */ function util_ifnull($check_value,$isnull_return){ if($this->config['db_dsn']['phptype']=='mssql'){ $value_returned=($isnull_return=='') ? 'isnull('.$check_value.',\'\')' : 'isnull('.$check_value.','.$isnull_return.')'; }elseif($this->config['db_dsn']['phptype']='mysql'){ $value_returned=($isnull_return=='') ? 'ifnull('.$check_value.',\'\')' : 'ifnull('.$check_value.','.$isnull_return.')'; }else{ $value_returned=($isnull_return=='') ? 'nvl('.$check_value.',\'\')' : 'nvl('.$check_value.','.$isnull_return.')'; } return $value_returned; } /** * ============================================================================ * 名称: util_lower * 描述: 模拟mysql中lower() * 参数: $value : 要改变的值 * 作者: david * ============================================================================ */ function util_lower($lower_value){ if($this->config['db_dsn']['phptype']=='mssql'){ $value_returned='lower('.$lower_value.')'; }elseif($this->config['db_dsn']['phptype']='mysql'){ $value_returned='lower('.$lower_value.')'; }else{ $value_returned='lower('.$lower_value.')'; } return $value_returned; } /** * ============================================================================ * 名称: util_top * 描述: 模拟mssql中top * 参数: $sql : 要执行的sql语句 * $top_value : 取执行$sql所返回结果集的记录数 * 作者: david * ============================================================================ */ function util_top($sql,$top_value){ if($this->config['db_dsn']['phptype']=='mssql'){ $sql=trim($sql); $sql=substr_replace($sql,'select top '.$top_value,0,6); $value_returned=$sql; }elseif($this->config['db_dsn']['phptype']=='mysql'){ $sql=$sql.' limit 0,'.$top_value; $value_returned=$sql; }else{ $pos=strripos($sql,'where'); $top_value++; $sql=substr_replace($sql,'where rownum <'.$top_value.' and ',$pos,5); $value_returned=$sql; } return $value_returned; } /** * ============================================================================ * 名称: util_date_format * 描述: 模拟mssql中convert(date_type,datetime,style) * 参数: $format_date : 要格式化的日期值 * $format_type : 返回的类型 * 112 ------- yyyymmdd * 111 ------- yyyy/mm/dd * 120 ------- yyyy-mm-dd * 作者: david * ============================================================================ */ function util_date_format($format_date,$format_type=112){ if($this->config['db_dsn']['phptype']=='mssql'){ $value_returned='convert(char(10),'.$format_date.','.$format_type.')'; }elseif($this->config['db_dsn']['phptype']='mysql'){ if($format_type==112){ $value_returned='date_format('.$format_date.',\'%Y%m%d\')'; }elseif($format_type==111){ $value_returned='date_format('.$format_date.',\'%Y/%m/%d\')'; }elseif($format_type==120){ $value_returned='date_format('.$format_date.',\'%Y-%m-%d\')'; } }else{ if($format_type==112){ $value_returned='to_date('.$format_date.',\'yyyymmdd\')'; }elseif($format_type==111){ $value_returned='to_date('.$format_date.',\'yyyy/mm/dd\')'; }els