Changes between Version 8 and Version 22 of Ticket #28643


Ignore:
Timestamp:
Dec 18, 2017, 3:56:06 PM (7 years ago)
Author:
Matthew Pava
Comment:

I formatted the list into a table so we could see better what we can do to address this ticket. It looks like SQLite is missing much functionality that the other backends support, especially in the math department.

I also suggest implementing Left and Right, but for the unsupported backends to use the corresponding Substr function.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #28643

    • Property Cc Shai Berger Adam Johnson added
    • Property Has patch set
  • Ticket #28643 – Description

    v8 v22  
    33We may even want to split the documentation page (https://docs.djangoproject.com/en/dev/ref/models/database-functions/) into further categories with String functions and Numeric functions.
    44
    5 This is just a sample checklist.  There are probably several more that I have missed.  These functions are available directly out of the box with PostgreSQL.
     5This is just a sample checklist, with corresponding attributes to which backend has them available.
    66
    7 String functions not yet implemented:
    8 ASCII(): Returns numeric value of left-most character
    9 CHR(): Character with the given code.
    10 LEFT(): Returns the leftmost number of characters as specified
    11 LPAD(): Returns the string argument, left-padded with the specified string
    12 MD5(): Calculates the MD5 hash of string, returning the result in hexadecimal
    13 REPEAT(): Repeats a string the specified number of times
    14 REPLACE(): Replaces occurrences of a specified string
    15 REVERSE(): Reverse the characters in a string
    16 RIGHT(): Returns the specified rightmost number of characters
    17 RPAD(): Appends string the specified number of times
    18 LTRIM(): Removes leading spaces ([https://github.com/django/django/pull/9220 PR #9220])
    19 RTRIM(): Removes trailing spaces ([https://github.com/django/django/pull/9220 PR #9220])
    20 TRIM(): Removes leading and trailing spaces ([https://github.com/django/django/pull/9220 PR #9220])
     7||= String =||
     8||Name||Description||PostgreSQL||Oracle||MySQL||SQLite||PR||
     9||ASCII()||Returns numeric value of left-most character||X||X||X||as UNICODE()||-||
     10||CHR()||Character with the given code||X||X||as CHAR()||as CHAR()||-||
     11||LEFT()||Returns the leftmost number of characters as specified||X||-||X||-||-||
     12||LPAD()||Returns the string argument, left-padded with the specified string||X||X||X||-||-||
     13||MD5()||Calculates the MD5 hash of string, returning the result in hexadecimal||X||-||-||-||-||
     14||REPEAT()||Repeats a string the specified number of times||X||-||X||-||-||
     15||REPLACE()||Replaces occurrences of a specified string||X||X||X||X||-||
     16||REVERSE()||Reverse the characters in a string||X||-||X||-||-||
     17||RIGHT()||Returns the specified rightmost number of characters||X||-||X||-||-||
     18||RPAD()||Appends string the specified number of times||X||X||X||-||-||
     19||LTRIM()||Removes leading spaces||X||X||X||X||[https://github.com/django/django/pull/9220 9220]||
     20||RTRIM()||Removes trailing spaces||X||X||X||X||[https://github.com/django/django/pull/9220 9220]||
     21||TRIM()||Removes leading and trailing spaces||X||X||X||X||[https://github.com/django/django/pull/9220 9220]||
    2122
    22 Numeric functions:
    23 ABS(): Returns the absolute value.
    24 ACOS(): Returns the arccosine.
    25 ASIN(): Returns the arcsine.
    26 ATAN(): Returns the arctangent.
    27 ATAN2(): Returns the arctangent of the two variables passed to it.
    28 CEILING(): Returns the smallest integer value that is not less than a numeric expression
    29 COS(): Returns the cosine expressed in radians.
    30 COT(): Returns the cotangent.
    31 DEGREES(): Returns a numeric expression converted from radians to degrees.
    32 EXP(): Returns the base of the natural logarithm (e) raised to the power of a numeric expression.
    33 FLOOR(): Returns the largest integer value that is not greater than a numeric expression.
    34 LOG(): Returns the natural logarithm of a numeric expression.
    35 MOD(): Returns the remainder of one expression by diving by another expression.
    36 PI(): Returns the value of pi
    37 POWER(): Returns the value of one expression raised to the power of another expression
    38 RADIANS(): Returns the value of an expression converted from degrees to radians.
    39 ROUND(): Returns a numeric expression rounded to an integer. Can be used to round an expression to a number of decimal points
    40 SIN(): Returns the sine given in radians.
    41 SQRT(): Returns the square root.
    42 TAN(): Returns the tangent expressed in radians.
     23||= Numeric =||
     24||Name||Description||PostgreSQL||Oracle||MySQL||SQLite||PR||
     25||ABS()||Returns the absolute value.||X||X||X||X||-||
     26||ACOS()||Returns the arccosine.||X||X||X||-||-||
     27||ASIN()||Returns the arcsine.||X||X||X||-||-||
     28||ATAN()||Returns the arctangent.||X||X||X||-||-||
     29||ATAN2()||Returns the arctangent of the two variables passed to it.||X||X||X||-||-||
     30||CEILING()||Returns the smallest integer value that is not less than a numeric expression||X||as CEIL()||X||-||-||
     31||COS()||Returns the cosine expressed in radians.||X||X||X||-||-||
     32||COT()||Returns the cotangent.||X||X||X||-||-||
     33||DEGREES()||Returns a numeric expression converted from radians to degrees.||X||X||X||-||-||
     34||EXP()||Returns the base of the natural logarithm (e) raised to the power of a numeric expression.||X||X||X||-||-||
     35||FLOOR()||Returns the largest integer value that is not greater than a numeric expression.||X||X||X||-||-||
     36||LOG()||Returns the natural logarithm of a numeric expression.||X||X||X||-||-||
     37||MOD()||Returns the remainder of one expression by diving by another expression.||X||X||X||-||-||
     38||PI()||Returns the value of pi||X||-||X||-||-||
     39||POWER()||Returns the value of one expression raised to the power of another expression||X||X||X||-||-||
     40||RADIANS()||Returns the value of an expression converted from degrees to radians.||X||X||X||-||-||
     41||ROUND()||Returns a numeric expression rounded to an integer. Can be used to round an expression to a number of decimal points||X||X||X||X||-||
     42||SIN()||Returns the sine given in radians.||X||X||X||-||-||
     43||SQRT()||Returns the square root.||X||X||X||-||-||
     44||TAN()||Returns the tangent expressed in radians.||X||X||X||-||-||
Back to Top