original_string: function SQLDate($fmt, $col=false)
  	{
  		if (!$col) $col = $this->sysDate;
  		$s = '';
  
  		$len = strlen($fmt);
  		for ($i=0; $i < $len; $i++) {
  			if ($s) $s .= '||';
  			$ch = $fmt[$i];
  			switch($ch) {
  			case 'Y':
  			case 'y':
  				$s .= "extract(year from $col)";
  				break;
  			case 'M':
  			case 'm':
  				$s .= "extract(month from $col)";
  				break;
  			case 'Q':
  			case 'q':
  				$s .= "cast(((extract(month from $col)+2) / 3) as integer)";
  				break;
  			case 'D':
  			case 'd':
  				$s .= "(extract(day from $col))";
  				break;
  			case 'H':
  			case 'h':
  				$s .= "(extract(hour from $col))";
  				break;
  			case 'I':
  			case 'i':
  				$s .= "(extract(minute from $col))";
  				break;
  			case 'S':
  			case 's':
  				$s .= "CAST((extract(second from $col)) AS INTEGER)";
  				break;
  
  			default:
  				if ($ch == '\\') {
  					$i++;
  					$ch = substr($fmt,$i,1);
  				}
  				$s .= $this->qstr($ch);
  				break;
  			}
  		}
  		return $s;
  	}
code: function SQLDate($fmt, $col=false)
  	{
  		if (!$col) $col = $this->sysDate;
  		$s = '';
  
  		$len = strlen($fmt);
  		for ($i=0; $i < $len; $i++) {
  			if ($s) $s .= '||';
  			$ch = $fmt[$i];
  			switch($ch) {
  			case 'Y':
  			case 'y':
  				$s .= "extract(year from $col)";
  				break;
  			case 'M':
  			case 'm':
  				$s .= "extract(month from $col)";
  				break;
  			case 'Q':
  			case 'q':
  				$s .= "cast(((extract(month from $col)+2) / 3) as integer)";
  				break;
  			case 'D':
  			case 'd':
  				$s .= "(extract(day from $col))";
  				break;
  			case 'H':
  			case 'h':
  				$s .= "(extract(hour from $col))";
  				break;
  			case 'I':
  			case 'i':
  				$s .= "(extract(minute from $col))";
  				break;
  			case 'S':
  			case 's':
  				$s .= "CAST((extract(second from $col)) AS INTEGER)";
  				break;
  
  			default:
  				if ($ch == '\\') {
  					$i++;
  					$ch = substr($fmt,$i,1);
  				}
  				$s .= $this->qstr($ch);
  				break;
  			}
  		}
  		return $s;
  	}
code_tokens: function SQLDate ( $ fmt , $ col = false ) { if ( ! $ col ) $ col = $ this -> sysDate ; $ s = '' ; $ len = strlen ( $ fmt ) ; for ( $ i = 0 ; $ i < $ len ; $ i ++ ) { if ( $ s ) $ s .= '||' ; $ ch = $ fmt [ $ i ] ; switch ( $ ch ) { case 'Y' : case 'y' : $ s .= "extract(year from $col)" ; break ; case 'M' : case 'm' : $ s .= "extract(month from $col)" ; break ; case 'Q' : case 'q' : $ s .= "cast(((extract(month from $col)+2) / 3) as integer)" ; break ; case 'D' : case 'd' : $ s .= "(extract(day from $col))" ; break ; case 'H' : case 'h' : $ s .= "(extract(hour from $col))" ; break ; case 'I' : case 'i' : $ s .= "(extract(minute from $col))" ; break ; case 'S' : case 's' : $ s .= "CAST((extract(second from $col)) AS INTEGER)" ; break ; default : if ( $ ch == '\\' ) { $ i ++ ; $ ch = substr ( $ fmt , $ i , 1 ) ; } $ s .= $ this -> qstr ( $ ch ) ; break ; } } return $ s ; }
docstring: problem - does not zero-fill the day and month yet
docstring_tokens: problem - does not zero - fill the day and month yet