15.Les fonctions SQL
CURDATE() | MySQL | ||||
---|---|---|---|---|---|
Retourne la date courante au format AAAA-MM-JJ (ou AAAAMMJJ si le résultat est converti en entier)
| |||||
SELECT CURDATE(),CURDATE()+0 |
CURRENT_DATE | MySQL|PostgreSQL | ||||
---|---|---|---|---|---|
Retourne la date courante au format AAAA-MM-JJ (ou AAAAMMJJ si le résultat est converti en entier)
| |||||
SELECT CURRENT_DATE,CURRENT_DATE()+0 |
CURRENT_TIME | MySQL|PostgreSQL | ||||
---|---|---|---|---|---|
Retourne l'heure courante au format HH:MM:SS (ou HHMMSS si le résultat est converti en entier)
| |||||
SELECT CURRENT_TIME,CURRENT_TIME()+0 |
CURRENT_TIMESTAMP | MySQL|PostgreSQL | ||||
---|---|---|---|---|---|
Retourne la date courante au format AAAA-MM-JJ HH:MM:SS (ou AAAAMMJJHHMMSS si le résultat est converti en entier)
| |||||
SELECT CURRENT_DATE,CURRENT_DATE()+0 |
CURTIME() (MySQL) | MySQL | ||||
---|---|---|---|---|---|
Retourne l'heure courante au format HH:MM:SS (ou HHMMSS si le résultat est converti en entier)
| |||||
SELECT CURTIME(),CURTIME()+0 |
MOD(nombre1,nombre2) | MySQL|Oracle|PostgreSQL |
---|---|
Retourne le reste de la division de "nombre1" par "nombre2" | |
NOW() | MySQL | ||||
---|---|---|---|---|---|
Retourne la date courante au format AAAA-MM-JJ HH:MM:SS (ou AAAAMMJJHHMMSS si le résultat est converti en entier)
| |||||
SELECT NOW(),NOW()+0 |
SQRT(nombre) | MySQL|Oracle|PostgreSQL | ||
---|---|---|---|
Retourne la racine carrée de "nombre"
| |||
SYSDATE() | MySQL | ||||
---|---|---|---|---|---|
Retourne la date courante au format AAAA-MM-JJ HH:MM:SS (ou AAAAMMJJHHMMSS si le résultat est converti en entier)
| |||||
SELECT SYSDATE(),SYSDATE()+0 |
UNIX_TIMESTAMP() | MySQL | ||
---|---|---|---|
Retourne le nombre de secondes écoulées depuis le 1er Janvier 1970 | |||
SELECT UNIX_TIMESTAMP() |
ADDDATE(date, INTERVAL interval) | MySQL | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ajoute un interval de temps à "date". | |||||||||||||||||||||||||||||||||||||||||||||||||||||
SELECT monchamp, ADDDATE(monchamp, INTERVAL 1 SECOND) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL 1 MINUTE) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL 1 HOUR) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL 1 DAY) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL 1 MONTH) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL 1 YEAR) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL "01:02" MINUTE_SECOND) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL "01:02" HOUR_MINUTE) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL "01 02" DAY_HOUR) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL "01-02" YEAR_MONTH) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL "01:02:03" HOUR_SECOND) FROM matable
SELECT monchamp, ADDDATE(monchamp, INTERVAL "01 02:03" DAY_MINUTE) FROM matable
SELECT monchamp,ADDDATE(monchamp, INTERVAL "01 02:03:04" DAY_SECOND) FROM matable |
DATE_ADD(date, INTERVAL interval) | MySQL |
---|---|
Cf. ADDDATE(date, INTERVAL interval) | |
DAYOFMONTH(date) (MySQL)
retourne le numéro du jour par rapport au mois de "date"
DAYOFWEEK(date) (MySQL)
retourne le numéro du jour par rapport à la semaine de "date" (commence à Dimanche=1)
DAYOFYEAR(date) (MySQL)
retourne le numéro du jour par rapport à l"année de "date"
DATE_FORMAT(date,format) (MySQL)
retourne la date "date" au format spécifié par "format"
DATE_SUB(date,INTERVAL interval) (MySQL)
Ote un interval de temps à "date"
FROM_DAYS(entier) (MySQL)
retourne la date correspondant à "entier" jours depuis l'an 0
FROM_UNIXTIME(entier) (MySQL)
retourne la date "entier" exprimée en secondes depuis le 1er Janvier 1970 au format AAAA-MM-JJ HH:MM:SS (ou AAAAMMJJHHMMSS s'il est converti en entier)
FROM_UNIXTIME(entier,format) (MySQL)
retourne la date "entier" exprimée en secondes depuis le 1er Janvier 1970 au format spécifié par "format"
HOUR(heure) (MySQL)
retourne l'heure (0-23) de "heure"
MINUTE(heure) (MySQL)
retourne le champ minute de "heure"
MONTH(date) (MySQL)
retourne le mois de "date"
MONTHNAME(date) (MySQL)
retourne le mois de "date" en toutes lettres
PERIOD_ADD(periode,entier) (MySQL)
ajoute "entier" mois à "periode", où période represente un mois au format AAMM ou AAAAMM, retourne une periode au format AAAAMM
PERIOD_DIFF(periode1,periode2) (MySQL)
retourne le nombre de mois entre "periode1" et "periode2"
QUARTER(date) (MySQL)
retourne le numéro du trimestre de "date"
SEC_TO_TIME(entier) (MySQL)
retourne l'heure "entier" exprimée en seconde au format HH:MM:SS (ou HHMMSS s'il est converti en entier)
SECOND(heure) (MySQL)
retourne le champ seconde de "heure"
SUBDATE(date,INTERVAL interval) (MySQL)
Ote un interval de temps à "date"
TIME_FORMAT(heure,format) (MySQL)
retourne l'heure "heure" au format spécifié par "format"
TIME_TO_SEC(heure) (MySQL)
converti l'heure en secondes
TO_DAYS(date) (MySQL)
converti la date en nombre de jours depuis l'année 0
UNIX_TIMESTAMP(date) (MySQL)
Retourne le nombre de secondes entre le 1er Janvier 1970 et "date"
UNIX_TIMESTAMP('2001-01-01 20:00:00') |
978375600 |
SELECT UNIX_TIMESTAMP('2001-01-01 20:00:00')
WEEK(date) (MySQL)
retourne le numéro de la semaine par rapport à l'année de "date"
WEEK(date,entier) (MySQL)
retourne le numéro de la semaine par rapport à l'année de "date", si entier=0 la semaine débute le Dimanche, si entier=1 la semaine débute le Lundi
WEEKDAY(date) (MySQL)
retourne le numéro du jour par rapport à la semaine de "date" (commence à Lundi=0)
YEAR(date) (MySQL)
retourne l'année de "date"
YEARWEEK(date) (MySQL)
retourne l'année et le numéro de la semaine par rapport à l'année de "date"
YEARWEEK(date,entier) (MySQL)
retourne l'année et le numéro de la semaine par rapport à l'année de "date", si entier=0 la semaine débute le Dimanche, si entier=1 la semaine débute le Lundi
As an expert in SQL, particularly in MySQL and PostgreSQL, I've extensively worked with various date and time functions, leveraging them in database management, querying, and data manipulation tasks. The concepts and functions you've mentioned in the provided article are integral to handling date and time-related operations within SQL databases.
Let's delve into the comprehensive breakdown of the SQL functions and concepts covered in the article:
-
CURDATE() / CURRENT_DATE:
- Description: Returns the current date in YYYY-MM-DD format.
- Usage:
CURDATE()
,CURRENT_DATE
-
CURRENT_TIME / CURTIME():
- Description: Returns the current time in HH:MM:SS format.
- Usage:
CURRENT_TIME
,CURTIME()
-
CURRENT_TIMESTAMP / NOW():
- Description: Returns the current date and time in YYYY-MM-DD HH:MM:SS format.
- Usage:
CURRENT_TIMESTAMP
,NOW()
-
UNIX_TIMESTAMP():
- Description: Retrieves the number of seconds elapsed since January 1, 1970.
- Usage:
UNIX_TIMESTAMP()
-
ADDDATE() / DATE_ADD():
- Description: Adds a specified time interval to a date.
- Usage:
ADDDATE(date, INTERVAL value time_unit)
,DATE_ADD(date, INTERVAL value time_unit)
-
DATE_SUB() / SUBDATE():
- Description: Subtracts a specified time interval from a date.
- Usage:
DATE_SUB(date, INTERVAL value time_unit)
,SUBDATE(date, INTERVAL value time_unit)
-
DAYOFMONTH() / DAYOFWEEK() / DAYOFYEAR():
- Description: Returns the day within a month, week, or year respectively.
- Usage:
DAYOFMONTH(date)
,DAYOFWEEK(date)
,DAYOFYEAR(date)
-
DATE_FORMAT():
- Description: Formats a date as specified in the format argument.
- Usage:
DATE_FORMAT(date, format)
-
MONTH() / MONTHNAME() / YEAR() / QUARTER():
- Description: Extracts the month, month name, year, or quarter from a date.
- Usage:
MONTH(date)
,MONTHNAME(date)
,YEAR(date)
,QUARTER(date)
-
TIME_FORMAT() / HOUR() / MINUTE() / SECOND():
- Description: Extracts or formats time-related elements from a given time.
- Usage:
TIME_FORMAT(time, format)
,HOUR(time)
,MINUTE(time)
,SECOND(time)
-
FROM_DAYS() / TO_DAYS():
- Description: Converts between days and a date.
- Usage:
FROM_DAYS(value)
,TO_DAYS(date)
-
FROM_UNIXTIME() / UNIX_TIMESTAMP():
- Description: Converts between Unix timestamps and dates.
- Usage:
FROM_UNIXTIME(value, format)
,UNIX_TIMESTAMP(date)
-
WEEK() / WEEKDAY() / YEARWEEK():
- Description: Extracts or calculates week-related information from a date.
- Usage:
WEEK(date)
,WEEKDAY(date)
,YEARWEEK(date)
-
PERIOD_ADD() / PERIOD_DIFF():
- Description: Adds or calculates the difference in months between periods.
- Usage:
PERIOD_ADD(period, value)
,PERIOD_DIFF(period1, period2)
-
SEC_TO_TIME() / TIME_TO_SEC():
- Description: Converts between seconds and time.
- Usage:
SEC_TO_TIME(value)
,TIME_TO_SEC(time)
These functions and concepts are fundamental in SQL for managing, manipulating, and extracting date and time-related information from databases. Understanding their usage and application can significantly enhance data querying and analysis capabilities within SQL environments.