Download the free trial version
Basic4android Video
Features
Tutorials and manuals
Showcase
Screenshots

Go Back   Android Development Forum - Basic4android > Foreign Languages > Italian Forum
Documentation Wiki Register Members List B4P Search Today's Posts Mark Forums Read

Query con date

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-09-2008, 05:52 PM
Senior Member
 
Join Date: May 2008
Posts: 174
Default Query con date

Salve ragazzi,
mi rivolgo agli esperti dei db e delle query.
Diciamo che non ho grossi problemi almeno sino ad ora e per averli usati da poco (i db) con sqlite devo dire che sono abbastanza soddisfatto.
Per le ricerche semplici o a più campi non ho problemi però non saprei come fare delle ricerche tra due date.
In pratica vorrei trovare tutti i record di un db confrontando la data tra le due di riferimento.

Grazie a tutti
Reply With Quote
  #2 (permalink)  
Old 11-09-2008, 07:32 PM
giannimaione's Avatar
Basic4ppc Veteran
 
Join Date: Apr 2007
Location: Naples, Italy
Posts: 244
Send a message via Skype™ to giannimaione
Awards Showcase
Beta Tester 
Total Awards: 1
Default

Ciao Micro,

dovresti dire in che modo/formato ai memorizzato la data.
molto probabilmente se hai utilizzato la forma AAAAMMGG, non dovresti aver problemi:
nella query devi indicare le date nello stesso formato AAAAMMGG

In ogni caso prova a leggere la documentazione qui SQLite Query Language: Date And Time Functions

ciao,
__________________
Gianni

Last edited by giannimaione : 11-09-2008 at 07:38 PM.
Reply With Quote
  #3 (permalink)  
Old 11-10-2008, 11:32 AM
Senior Member
 
Join Date: May 2008
Posts: 174
Default

No gianni,
la data la uso nel formato classico gg/mm/aaaa formattata come stringa e memorizzata come tale.

Grazie per la disponibilità.
Reply With Quote
  #4 (permalink)  
Old 11-10-2008, 01:41 PM
maXim's Avatar
Basic4ppc Veteran
 
Join Date: May 2007
Location: Sesto Fiorentino - Florence (Italy)
Posts: 224
Send a message via MSN to maXim Send a message via Skype™ to maXim
Awards Showcase
Beta Tester 
Total Awards: 1
Default

Ciao micro,

certo che utilizzando la data come una stringa e per lo più formattata secondo lo standard italiano la "cosa" si complica un poco ma è possibile "aggirare" l'ostacolo come ad esempio è mostrato qui sotto:

Code:
<font color="green"><font size="2"><font face="Courier New"><font color="green"><font size="2"><font face="Courier New"><font color="green"><font size="2"><font face="Courier New"><font color="green">' si ammette di avere in una tabella ("TabMov") un campo</font></font></font>
<font size="2"><font face="Courier New"><font color="green">' data di nome "DateIt" nel formato stringa gg/mm/aaaa...</font></font></font>
 
</font></font></font></font></font></font><font face=
"Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000">' si desidera eseguire una query che mostri tutti i record</font></font></font>
<font size="2"><font face="Courier New"><font color="#008000">' dove "DateIt"  � maggiore del "15/07/2008" ("DateStart")</font></font></font>
<font size="2"><font face="Courier New"><font color="#008000">' e minore di "12/09/2008" ("DateEnd")...</font></font></font>
 
</font></font></font></font></font></font><font face=
"Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000">' la select di estrapolazione dei dati potrebbe essere la seguente:</font></font></font>
 
</font></font></font></font></font></font><font face=
"Courier New"><font size="2"><font face="Courier New"><font size="2"><font color="black">xSQL = </font></font></font></font></font><font face="Courier New"><font size="2"><font color="#800000"><font face="Courier New"><font size="2"><font color="#800000"><font face="Courier New"><font size="2"><font color="#800000">"SELECT * FROM TabMov WHERE (((SUBSTR(DateIt, 7, 4) || SUBSTR(DateIt, 4, 2) || SUBSTR(DateIt, 1, 2)) >= '20080715') AND ((SUBSTR(DateIt, 7, 4) || SUBSTR(DateIt, 4, 2) || SUBSTR(DateIt, 1, 2)) <= '20080912'))"</font></font></font>
</font></font></font></font></font></font>
<font size=
"2"><font face="Courier New"><font color="#008000"><font size="2"><font face="Courier New"><font color="#008000"><font size="2"><font face="Courier New"><font color="#008000">' oppure:</font></font></font>
 
</font></font></font></font></font></font><font face=
"Courier New"><font size="2"><font face="Courier New"><font size="2"><font color="black"><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">DateStart = [data in formato italiano per inizio confronto] </font></font></font></font><font face="Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000">' qualsiasi stringa o variabile che contenga una data nel formato gg/mm/aaaa</font></font></font>
</font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">DateEnd = [data in formato italiano per fine confronto]     </font></font></font></font><font face="Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000">' qualsiasi stringa o variabile che contenga una data nel formato gg/mm/aaaa</font></font></font>
</font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">q_Date_Start = </font></font></font></font><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff">SubString</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">(DateStart, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">6</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">4</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">) & </font></font></font></font><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff">SubString</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">(DateStart, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">3</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">2</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">) & </font></font></font></font><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff">SubString</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">(DateStart, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">0</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">2</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">) </font></font></font></font><font face="Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000">' aaaammgg</font></font></font>
</font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">q_Date_End = </font></font></font></font><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff">SubString</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">(DateEnd, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">6</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">4</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">) & </font></font></font></font><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff">SubString</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">(DateEnd, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">3</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">2</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">) & </font></font></font></font><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff"><font face="Courier New"><font size="2"><font color="#0000ff">SubString</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">(DateEnd, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">0</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">, </font></font></font></font><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080"><font face="Courier New"><font size="2"><font color="#800080">2</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">) </font></font></font></font><font face="Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000"><font face="Courier New"><font size="2"><font color="#008000">' aaaammgg</font></font></font>
</font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2">xSQL = </font></font></font></font><font face="Courier New"><font size="2"><font color="#800000"><font face="Courier New"><font size="2"><font color="#800000"><font face="Courier New"><font size="2"><font color="#800000">"SELECT * FROM TabMov WHERE (((SUBSTR(DateIt, 7, 4) || SUBSTR(DateIt, 4, 2) || SUBSTR(DateIt, 1, 2)) >= '"</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2"> & q_Date_Start & </font></font></font></font><font face="Courier New"><font size="2"><font color="#800000"><font face="Courier New"><font size="2"><font color="#800000"><font face="Courier New"><font size="2"><font color="#800000">"') AND ((SUBSTR(DateIt, 7, 4) || SUBSTR(DateIt, 4, 2) || SUBSTR(DateIt, 1, 2)) <= '"</font></font></font></font></font></font></font></font></font><font face="Courier New"><font size="2"><font face="Courier New"><font size="2"> & q_Date_End & </font></font></font></font><font face="Courier New"><font size="2"><font color="#800000"><font face="Courier New"><font size="2"><font color="#800000"><font face="Courier New"><font size="2"><font color="#800000">"'))"</font></font></font></font></font></font></font></font></font>
</font></font></font></font></font></font>
Comunque ti consiglio, anche per una maggior velocità di elaborazione, di convertire i campi delle tabelle di database che utilizzi come date nel formato timestring.

Saluti,

Massimo

Last edited by maXim : 11-10-2008 at 06:13 PM.
Reply With Quote
  #5 (permalink)  
Old 11-11-2008, 05:24 PM
Senior Member
 
Join Date: May 2008
Posts: 174
Default

Grazie massimo,
gentile come sempre e come tutti gli altri del resto.
Ho voluto memorizzare la data come stringa un pò per inesperienza e perchè la necessità (anche se remota) di trovare record tra due date di riferimento mi è sorta adesso.

Ancora grazie.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
A query to Erel mozaharul Questions (Windows Mobile) 5 04-28-2008 11:21 AM
working with date gjoisa Questions (Windows Mobile) 3 03-29-2008 09:40 AM
Code optimization & dll query gangsta Questions (Windows Mobile) 9 03-29-2008 09:28 AM
Microsoft Access Query somersetrc Questions (Windows Mobile) 2 11-29-2007 08:29 AM


All times are GMT. The time now is 12:06 AM.


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0