SYNOPSIS
use Alzabo::SQLMaker;
my $sql = Alzabo::SQLMaker->new( sql => 'MySQL' );
DESCRIPTION
This class implementes MySQL-specific SQL creation. MySQL does not allow subselects. Any attempt to use a subselect (by passing an "Alzabo::SQMaker" object in as parameter to a method) will result in an "Alzabo::Exception::SQL" error.METHODS
Almost all of the functionality inherited from Alzabo::SQLMaker is used as is. The only overridden methods are "limit()" and "get_limit()", as MySQL does allow for a "LIMIT" clause in its SQL.EXPORTED SQL FUNCTIONS
SQL may be imported by name or by tags. They take arguments as documented in the MySQL documentation (version 3.23.39). The functions (organized by tag) are::math
PI RAND MOD ROUND POW POWER ATAN2 ABS SIGN FLOOR CEILING EXP LOG LOG10 SQRT COS SIN TAN ACOS ASIN ATAN COT DEGREES RADIANS TRUNCATE
:string
CHAR POSITION INSTR LEFT RIGHT FIND_IN_SET REPEAT LEAST GREATEST CONCAT ELT FIELD MAKE_SET LOCATE SUBSTRING CONV LPAD RPAD MID SUBSTRING_INDEX REPLACE CONCAT_WS EXPORT_SET INSERT ASCII ORD BIN OCT HEX LENGTH OCTET_LENGTH CHAR_LENGTH CHARACTER_LENGTH TRIM LTRIM RTRIM SOUNDEX SPACE REVERSE LCASE LOWER UCASE UPPER
:datetime
CURDATE CURRENT_DATE CURTIME CURRENT_TIME NOW SYSDATE CURRENT_TIMESTAMP UNIX_TIMESTAMP WEEK PERIOD_ADD PERIOD_DIFF DATE_ADD DATE_SUB ADDDATE SUBDATE DATE_FORMAT TIME_FORMAT FROM_UNIXTIME DAYOFWEEK WEEKDAY DAYOFYEAR MONTH DAYNAME MONTHNAME QUARTER YEAR YEARWEEK HOUR MINUTE SECOND TO_DAYS FROM_DAYS SEC_TO_TIME TIME_TO_SEC
:aggregate
These are functions which operate on an aggregate set of values all at once.
COUNT AVG MIN MAX SUM STD STDDEV
:system
These are functions which return information about the MySQL server.
DATABASE USER SYSTEM_USER SESSION_USER VERSION CONNECTION_ID LAST_INSERT_ID GET_LOCK RELEASE_LOCK BENCHMARK MASTER_POS_WAIT
:control
These are flow control functions:
IFNULL NULLIF IF
:misc
These are functions which don't fit into any other categories.
ENCRYPT ENCODE DECODE FORMAT INET_NTOA INET_ATON BIT_OR BIT_AND PASSWORD MD5 LOAD_FILE
:fulltext
These are functions related to MySQL's fulltext searching capabilities.
MATCH AGAINST IN_BOOLEAN_MODE
NOTE: In MySQL 4.0 and greater, it is possible to say that a search is in boolean mode in order to change how MySQL handles the argument given to AGAINST. This will not work with earlier versions.
:common
These are functions from other groups that are most commonly used.
NOW COUNT AVG MIN MAX SUM DISTINCT