日期:2014-05-16 浏览次数:20900 次
/**
* ============================================================================
* 名称: 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