PHPackages                             regnartson/doctrineextensions - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. regnartson/doctrineextensions

ActiveLibrary[Database &amp; ORM](/categories/database)

regnartson/doctrineextensions
=============================

A set of extensions to Doctrine 2 that add support for additional query functions available in MySQL, MsSQL and Oracle.

v1.2.4(6y ago)07BSD-3-ClausePHPPHP ^7.1

Since May 16Pushed 6y agoCompare

[ Source](https://github.com/Regnartson/DoctrineExtensions)[ Packagist](https://packagist.org/packages/regnartson/doctrineextensions)[ RSS](/packages/regnartson-doctrineextensions/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (7)Versions (44)Used By (0)

DoctrineExtensions
==================

[](#doctrineextensions)

A set of extensions to Doctrine 2 that add support for functions available in MsSQL, MySQL, Oracle, PostgreSQL and SQLite.

DBFunctionsMsSQL`ADDTIME, CAST, CONVERT_TZ, COUNTIF, DATE, DATE_FORMAT, DATEADD, DATEDIFF, DAY, DAYNAME, DAYOFWEEK, DAYOFYEAR, EXTRACT, FROM_UNIXTIME, GREATEST, HOUR, IFELSE, IFNULL, INET_ATON, INET_NTOA, INET6_ATON, INET6_NTOA, INSTR, IS_IPV4, IS_IPV4_COMPAT, IS_IPV4_MAPPED, IS_IPV6, LAST_DAY, LEAST, MINUTE, MONTH, MONTHNAME, NOW, PERIOD_DIFF, QUARTER, SECOND, SECTOTIME, STRTODATE, STR_TO_DATE, TIME, TIMEDIFF, TIMESTAMPADD, TIMESTAMPDIFF, TIMETOSEC, UNIX_TIMESTAMP, UTC_TIMESTAMP, WEEK, WEEKDAY, YEAR, YEARMONTH, YEARWEEK`MySQL`ACOS, ADDTIME, AES_DECRYPT, AES_ENCRYPT, ANY_VALUE, ASCII, ASIN, ATAN, ATAN2, BINARY, BIT_COUNT, BIT_XOR, CAST, CEIL, CHAR_LENGTH, COLLATE, CONCAT_WS, CONVERT_TZ, COS, COT, COUNTIF, CRC32, DATE, DATE_FORMAT, DATEADD, DATEDIFF, DATESUB, DAY, DAYNAME, DAYOFWEEK, DAYOFYEAR, DEGREES, DIV, EXP, EXTRACT, FIELD, FIND_IN_SET, FLOOR, FORMAT, FROM_UNIXTIME, GREATEST, GROUP_CONCAT, HEX, HOUR, IFELSE, IFNULL, INET_ATON, INET_NTOA, INET6_ATON, INET6_NTOA, INSTR, IS_IPV4, IS_IPV4_COMPAT, IS_IPV4_MAPPED, IS_IPV6, LAST_DAY, LEAST, LOG, LOG10, LOG2, LPAD, MAKEDATE, MATCH, MD5, MINUTE, MONTH, MONTHNAME, NOW, NULLIF, PERIOD_DIFF, PI, POWER, QUARTER, RADIANS, RAND, REGEXP, REPLACE, ROUND, RPAD, SECOND, SECTOTIME, SHA1, SHA2, SIN, SOUNDEX, STD, STDDEV, STRTODATE, STR_TO_DATE, SUBSTRING_INDEX, TAN, TIME, TIMEDIFF, TIMESTAMPADD, TIMESTAMPDIFF, TIMETOSEC, UNHEX, UNIX_TIMESTAMP, UTC_TIMESTAMP, UUID_SHORT, VARIANCE, WEEK, WEEKDAY, YEAR, YEARMONTH, YEARWEEK`Oracle`DAY, LISTAGG, MONTH, NVL, TO_CHAR, TO_DATE, TRUNC, YEAR`Sqlite`DATE, MINUTE, HOUR, DAY, WEEK, WEEKDAY, MONTH, YEAR, JULIANDAY, STRFTIME, DATE_FORMAT*, CASE WHEN THEN ELSE END, IFNULL, REPLACE, ROUND`PostgreSQL`DATE_PART, GREATEST, LEAST, COUNT_FILTER, STRING_AGG, TO_DATE, TO_CHAR, AT_TIME_ZONE`> Note: Sqlite date functions are implemented as `strftime(format, value)`. Sqlite only supports the [most common formats](https://www.sqlite.org/lang_datefunc.html), so `date_format` will convert the mysql substitutions to the closest available sqlite substitutions. This means `date_format(field, '%b %D %Y') -> Jan 1st 2015` becomes `strftime('%m %d %Y', field) -> 01 01 2015`.

Installation
------------

[](#installation)

To install this library, run the command below and you will get the latest version:

```
composer require regnartson/doctrineextensions

```

If you want to run phpunit:

```
make test

```

If you want to run php-cs-fixer:

```
make fix  # (or make lint for a dry-run)
```

Usage
-----

[](#usage)

If you are using DoctrineExtensions with Symfony read [How to Register custom DQL Functions](https://symfony.com/doc/current/doctrine/custom_dql_functions.html).

You can find example Symfony configuration for using DoctrineExtensions custom DQL functions in [config](config).

If you are using DoctrineExtensions standalone, you might want to fire up the autoloader:

```
