~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to docs/functions/extract_date_functions.rst

mergeĀ lp:~hingo/drizzle/drizzle-auth_ldap-fix-and-docs

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
EXTRACT DATE FUNCTION
 
2
======================
 
3
 
 
4
Syntax
 
5
------
 
6
 
 
7
.. code-block:: mysql
 
8
 
 
9
        EXTRACT(field FROM source)
 
10
 
 
11
The EXTRACT function retrieves subfields such as day or hour from date/time values. The source value has to be a value expression of type *timestamp*, *time*, *date*, or *interval*. 
 
12
 
 
13
*Field* is an identifier or string that identifies the field to extract from the source value. The extract function returns values of type *double precision*. 
 
14
 
 
15
Examples
 
16
--------
 
17
 
 
18
The following field names are available:
 
19
 
 
20
day
 
21
^^^
 
22
 
 
23
.. code-block:: mysql
 
24
        
 
25
        SELECT EXTRACT(DAY FROM TIMESTAMP '2011-02-16 20:38:40');
 
26
 
 
27
Day of the month.
 
28
 
 
29
*Result: 16*
 
30
 
 
31
decade
 
32
^^^^^^
 
33
 
 
34
.. code-block:: mysql
 
35
        
 
36
        SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40');
 
37
 
 
38
The year, divided by 10.
 
39
 
 
40
*Result: 200*
 
41
 
 
42
dow
 
43
^^^
 
44
 
 
45
.. code-block:: mysql
 
46
        
 
47
        SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');
 
48
 
 
49
The day of the week (Sunday is 0, Saturday is 6)
 
50
 
 
51
*Result: 5*
 
52
 
 
53
doy
 
54
^^^
 
55
 
 
56
.. code-block:: mysql
 
57
 
 
58
        SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40');
 
59
 
 
60
The day of the year (1 - 365/366)
 
61
 
 
62
*Result: 47*
 
63
 
 
64
hour
 
65
^^^^
 
66
 
 
67
.. code-block:: mysql
 
68
 
 
69
        SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');
 
70
 
 
71
The hour field (0 - 23)
 
72
 
 
73
*Result: 20*
 
74
 
 
75
minute
 
76
^^^^^^
 
77
 
 
78
.. code-block:: mysql
 
79
 
 
80
        SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40');
 
81
 
 
82
The minutes field (0 - 59)      
 
83
 
 
84
*Result: 38*
 
85
 
 
86
month
 
87
^^^^^
 
88
 
 
89
For timestamp values, the number of the month within the year (1 - 12). 
 
90
For interval values, the number of months (0 - 11).
 
91
 
 
92
.. code-block:: mysql
 
93
 
 
94
        SELECT EXTRACT(MONTH FROM TIMESTAMP '2010-12-29 08:45:27');
 
95
 
 
96
*Result: 12*
 
97
 
 
98
.. code-block:: mysql
 
99
 
 
100
        SELECT EXTRACT(MONTH FROM INTERVAL '3 years 4 months');
 
101
 
 
102
*Result: 4*
 
103
 
 
104
.. code-block:: mysql
 
105
 
 
106
        SELECT EXTRACT(MONTH FROM INTERVAL '3 years 13 months');
 
107
 
 
108
*Result: 1*
 
109
 
 
110
quarter
 
111
^^^^^^^
 
112
 
 
113
.. code-block:: mysql
 
114
 
 
115
        SELECT EXTRACT(QUARTER FROM TIMESTAMP '2010-12-29 08:45:27');
 
116
 
 
117
The quarter of the year (1 - 4) containing the date.
 
118
        
 
119
*Result: 4*
 
120
 
 
121
second
 
122
^^^^^^
 
123
 
 
124
.. code-block:: mysql
 
125
 
 
126
        SELECT EXTRACT(SECOND FROM TIMESTAMP '2010-12-29 08:45:27');
 
127
 
 
128
The seconds field, including fractional parts (0 - 59)
 
129
        
 
130
*Result: 27*
 
131
 
 
132
timezone
 
133
^^^^^^^^
 
134
 
 
135
The time zone offset from UTC, measured in seconds.
 
136
 
 
137
week
 
138
^^^^
 
139
 
 
140
Returns the week number that a day is in. Weeks are numbered according to ISO 8601:1988.
 
141
 
 
142
ISO 8601:1988 means that if the week containing January 1 has four or more days in the new year, then it is week 1; otherwise it is the last week of the previous year, and the next week is week 1. The ISO-8601 week starts on Monday.
 
143
 
 
144
It's possible for early January dates to be part of the 52nd or 53rd week of the previous year. For example, 2011-01-01 was part of the 52nd week of year 2010.
 
145
 
 
146
.. code-block:: mysql
 
147
 
 
148
        SELECT EXTRACT(WEEK FROM TIMESTAMP '2010-01-25 12:44:06');
 
149
 
 
150
*Result: 4*
 
151
 
 
152
year
 
153
^^^^
 
154
 
 
155
.. code-block:: mysql
 
156
 
 
157
        SELECT EXTRACT(YEAR FROM TIMESTAMP '2009-02-16 20:38:40');
 
158
 
 
159
*Result: 2009*
 
160