<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>https://cacauet.org/wiki/index.php?action=history&amp;feed=atom&amp;title=SQL_funcions</id>
	<title>SQL funcions - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="https://cacauet.org/wiki/index.php?action=history&amp;feed=atom&amp;title=SQL_funcions"/>
	<link rel="alternate" type="text/html" href="https://cacauet.org/wiki/index.php?title=SQL_funcions&amp;action=history"/>
	<updated>2026-05-04T15:42:16Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://cacauet.org/wiki/index.php?title=SQL_funcions&amp;diff=247&amp;oldid=prev</id>
		<title>Enric: Es crea la pàgina amb «L'article principal de MySQL el trobareu [http://dev.mysql.com/doc/refman/5.1/en/functions.html aquí].  Dintre d'un SELECT podem incloure operacions aritmètiques estàn…».</title>
		<link rel="alternate" type="text/html" href="https://cacauet.org/wiki/index.php?title=SQL_funcions&amp;diff=247&amp;oldid=prev"/>
		<updated>2010-03-09T18:08:37Z</updated>

		<summary type="html">&lt;p&gt;Es crea la pàgina amb «L&amp;#039;article principal de MySQL el trobareu [http://dev.mysql.com/doc/refman/5.1/en/functions.html aquí].  Dintre d&amp;#039;un SELECT podem incloure operacions aritmètiques estàn…».&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;L'article principal de MySQL el trobareu [http://dev.mysql.com/doc/refman/5.1/en/functions.html aquí].&lt;br /&gt;
&lt;br /&gt;
Dintre d'un SELECT podem incloure operacions aritmètiques estàndard amb els operadors (+,-,*,/), per exemple:&lt;br /&gt;
 mysql&amp;gt; SELECT 1+3*4;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funcions algebraiques ==&lt;br /&gt;
Les més conegudes són:&lt;br /&gt;
*AVG(): de l'anglès ''average'', és la mitjana&lt;br /&gt;
*SUM(): efectua la suma dels registres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Funcions de data i hora ==&lt;br /&gt;
En particular ens interessen les funcions de data i hora per manipular-les. L'article principal el trobareu a [http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html funcions de data i hora de MySQL].&lt;br /&gt;
&lt;br /&gt;
Utiltizarem de nou l'exemple [[Fitxer:Videoclub.sql]].&lt;br /&gt;
&lt;br /&gt;
Destaquem les següents funcions:&lt;br /&gt;
*NOW(): retorna data i hora.&lt;br /&gt;
*CURRENT_DATE(): retorna la data actual.&lt;br /&gt;
*CURRENT_TIME(): retorna el temps actual.&lt;br /&gt;
*DATEDIFF( &amp;lt;data1&amp;gt;,&amp;lt;data2&amp;gt; ): retorna la diferència de temps (dies) entre 2 dates).&lt;br /&gt;
*DATE_FORMAT( &amp;lt;data&amp;gt;, &amp;lt;format&amp;gt;): formata la data segons es necessiti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOW es molt comuna per introduïr registres de qualsevol tipus. Per exemple, en una web, quan s'introdueix una dada nova (com un missatge en un llibre de visites), podem posar la data i hora en què es va crear el registre amb aquesta funció.&lt;br /&gt;
&lt;br /&gt;
Per exemple:&lt;br /&gt;
 mysql&amp;gt; INSERT INTO &amp;lt;taula&amp;gt; ( &amp;lt;col1&amp;gt;, &amp;lt;col2&amp;gt;, ... , data)&lt;br /&gt;
        VALUES ( &amp;lt;val1&amp;gt;, &amp;lt;val2&amp;gt;, ... , '''NOW()''' );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DATEDIFF''' ens permetrà conèixer la diferència de dies entre 2 dates.&lt;br /&gt;
Per exemple, en el cas del videoclub podem saber els dies que un client ha tingut una peli amb la consulta:&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; SELECT data_entrada, data_sortida, '''DATEDIFF(data_entrada,data_sortida) as dies'''&lt;br /&gt;
        FROM lloguers;&lt;br /&gt;
El què ens hauria de donar:&lt;br /&gt;
 +---------------------+---------------------+------+&lt;br /&gt;
 | data_entrada        | data_sortida        | dies |&lt;br /&gt;
 +---------------------+---------------------+------+&lt;br /&gt;
 | 2009-10-13 18:00:00 | 2009-10-12 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-13 00:00:00 | 2009-10-12 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-14 00:00:00 | 2009-10-13 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-14 00:00:00 | 2009-10-13 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-16 00:00:00 | 2009-10-14 00:00:00 |    2 | &lt;br /&gt;
 | 2009-10-17 00:00:00 | 2009-10-16 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-18 00:00:00 | 2009-10-17 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-19 00:00:00 | 2009-10-18 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-18 00:00:00 | 2009-10-18 00:00:00 |    0 | &lt;br /&gt;
 | 2009-10-20 00:00:00 | 2009-10-19 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-22 00:00:00 | 2009-10-20 00:00:00 |    2 | &lt;br /&gt;
 | 2009-10-25 00:00:00 | 2009-10-24 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-26 00:00:00 | 2009-10-25 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-26 00:00:00 | 2009-10-25 00:00:00 |    1 | &lt;br /&gt;
 | 2009-10-27 00:00:00 | 2009-10-25 00:00:00 |    2 | &lt;br /&gt;
 +---------------------+---------------------+------+&lt;br /&gt;
&lt;br /&gt;
Si, a més, volem canviar el format de la data d'entrada, podem utilitzar DATE_FORMAT. Per una llista de les possibilitats d'aquesta funció podeu clicar [http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format aquí].&lt;br /&gt;
&lt;br /&gt;
Proveu aquesta:&lt;br /&gt;
 mysql&amp;gt; SELECT DATE_FORMAT(data_sortida,'%W %M %Y') as sortida , DATEDIFF(data_entrada,data_sortida) as dies&lt;br /&gt;
        FROM lloguers;&lt;br /&gt;
&lt;br /&gt;
Com podeu veure, %W ens calcula el día de la setmana (i ens ho mostra en anglès). %M ens posa el mes (també en anglès) i %Y ens mostra l'any amb números.&lt;br /&gt;
&lt;br /&gt;
== Exercicis ==&lt;br /&gt;
Realitza les següents views amb el nom view_data_&amp;lt;num&amp;gt;:&lt;br /&gt;
#Mostra els lloguers amb la persona que l'ha llogat, el nom del film i el preu a cobrar-li si cada dia que passa el cobrem a 3€.&lt;br /&gt;
#Busca a la web el format adequat perquè aparegui la data de sortida amb:&lt;br /&gt;
#*el nom del dia de la setmana (Monday, Tuesday, ...)&lt;br /&gt;
#*el número del dia de l'any (000-365) ENTRE PARÈNTESIS&lt;br /&gt;
#*el número del dia del mes (00-31)&lt;br /&gt;
#*el mes amb el nom i el número entre parèntesis&lt;br /&gt;
#*l'any amb 2 dígits i prou&lt;br /&gt;
#:o sigui que us ha de quedar així:&lt;br /&gt;
 +--------------------------------+&lt;br /&gt;
 | exercici de formats            |&lt;br /&gt;
 +--------------------------------+&lt;br /&gt;
 | Monday (285) October(10) 09    | &lt;br /&gt;
 | Monday (285) October(10) 09    | &lt;br /&gt;
 | Tuesday (286) October(10) 09   |&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
		
	</entry>
</feed>