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;
	}
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;
	}
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 ; }
problem - does not zero-fill the day and month yet
problem - does not zero - fill the day and month yet