Qery update

giovedì 20 novembre 2014 - 09.49

tigre Profilo | Junior Member

Ho una tabella con un campo data e dovrei modificare tutti i record in update solo una parte dell anno.10/05/1914 deve diventare 10/05/2014
Update from tabella set data=.......e poi ????

renarig Profilo | Expert

>Update from tabella set data=.......e poi ????

di quale DB si tratta??
io comunque farei cosi

....... SET data=data+36525 WHERE data=..........

.

alx_81 Profilo | Guru

Sia in Access che in SQL Hai DateAdd, funzione tramite la quale puoi specificare la parte di data da gestire.
Ad esempio, per sommare anni:

SQL Server
DATEADD(YEAR, 100, TuaData)

Access
DateAdd("yyyy", 100, TuaData)
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222

ma_di Profilo | Junior Member

>Ho una tabella con un campo data e dovrei modificare tutti i
>record in update solo una parte dell anno.10/05/1914 deve diventare
>10/05/2014
>Update from tabella set data=.......e poi ????

update tabella set data='2014-05-10' where data='1914-05-10'
Potrebbe essere necessaria l'ora (00.00.00 )

alx_81 Profilo | Guru

>update tabella set data='2014-05-10' where data='1914-05-10'
>Potrebbe essere necessaria l'ora (00.00.00 )
questo però vale solo se il valore da cambiare è solo uno..

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222

tigre Profilo | Junior Member

infatti,
dato che devo cambiare tanti record solo quelli che hanno l'anno che inizia con "00"

alx_81 Profilo | Guru

>dato che devo cambiare tanti record solo quelli che hanno l'anno che inizia con "00"
Facciamo così, visto che non è proprio chiaro..
passaci la CREATE TABLE, un po' di dati di esempio e quello che vorresti ottenere alla fine.
Ti consiglio di utilizzare questo editor online, col quale puoi condividere lo schema e i risultati, e tramite il quale noi possiamo lavorare online:
http://sqlfiddle.com/
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222

tigre Profilo | Junior Member

Non so come si fa a condividere,
comunque il problema che ho un campo in unba tabella sql server data con tanti record.
Molti record sono stati copiati male con errore sull anno di nascita,
esempio 10/05/0050 - 22/5/0077 ecc...
dovrei trasformare l anno in quello corretto cioe 1950 1977 ecc..
non sio come si fa in update modificare solo 00 in 19

alx_81 Profilo | Guru

>Non so come si fa a condividere,
beh non è complesso, basta che scrivi quanto ti ho chiesto su quel link indicando che hai SQL Server e ci passi il link.. comunque lo faccio io no problem.

>Molti record sono stati copiati male con errore sull anno di nascita, esempio 10/05/0050 - 22/5/0077 ecc...
>dovrei trasformare l anno in quello corretto cioe 1950 1977 ecc.. non sio come si fa in update modificare solo 00 in 19
cavolo ma allora il tipo di dato è stringa! Non è datetime! Confermi? Se mi dai un ok ti faccio uno script per le stringhe di esempio.

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5