Alzabo::SQLMaker::MySQL.3pm

Langue: en

Autres versions - même langue

Version: 2008-06-10 (ubuntu - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Alzabo::SQLMaker::MySQL - Alzabo SQL making class for MySQL

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
 
 

AUTHOR

Dave Rolsky, <dave@urth.org>