-
-
Notifications
You must be signed in to change notification settings - Fork 824
/
SqlFunctionEXTRACT.php
66 lines (59 loc) · 1.83 KB
/
SqlFunctionEXTRACT.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
/*
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC. All rights reserved. |
| |
| This work is published under the GNU AGPLv3 license with some |
| permitted exceptions and without any warranty. For full license |
| and copyright information, see https://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/
namespace Civi\Api4\Query;
/**
* Sql function
*/
class SqlFunctionEXTRACT extends SqlFunction {
protected static $category = self::CATEGORY_DATE;
protected static function params(): array {
return [
[
'label' => ts('Unit'),
'flag_before' => [
'SECOND' => ts('Seconds'),
'MINUTE' => ts('Minutes'),
'HOUR' => ts('Hours'),
'DAY' => ts('Days'),
'WEEK' => ts('Weeks'),
'MONTH' => ts('Months'),
'QUARTER' => ts('Quarters'),
'YEAR' => ts('Years'),
'MINUTE_SECOND' => ts('Minutes:Seconds'),
'HOUR_SECOND' => ts('Hours:Minutes:Seconds'),
'HOUR_MINUTE' => ts('Hours:Minutes'),
'DAY_SECOND' => ts('Days Hours:Minutes:Seconds'),
'DAY_MINUTE' => ts('Days Hours:Minutes'),
'DAY_HOUR' => ts('Days Hours'),
'YEAR_MONTH' => ts('Years-Months'),
],
'max_expr' => 0,
'optional' => FALSE,
],
[
'name' => 'FROM',
'must_be' => ['SqlField'],
],
];
}
/**
* @return string
*/
public static function getTitle(): string {
return ts('Partial Date');
}
/**
* @return string
*/
public static function getDescription(): string {
return ts('Extract part(s) of a date (e.g. the day, year, etc.)');
}
}