Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-03-2015, 18:43   #1
digital_brain
Senior Member
 
L'Avatar di digital_brain
 
Iscritto dal: Jan 2003
Città: Roma Messaggi Totali:50333
Messaggi: 3519
[MySql] Query su intervallo di date

Ciao a tutti,
ho un problema con una query che mi sta facendo dannare...
devo tirare fuori da una tabella dei valori che corrispondono ad un intervallo di giorni (da inizio mese a ieri).
le ho provate tutte ma l'interrogazione mi include anche alcuni giorni del mese precedente pur avendogli dato come intervallo ben definito dal 1/03/2015 al 31/03/2015.
la query è la seguente:
Codice:
SELECT `COL 6` FROM `realtime_es3` WHERE `COL 4` = 'Attiva' AND `COL 6` < DATE_FORMAT (now(),'%e/%m/%Y') and `COL 6` between '01/03/2015' and '31/03/2015'
quello che mi restituisce la query sono giustamente i giorni dal 1 al 9/03 ma anche i giorni 8-9 e 10/2....come è possibile????

se semplifico la query così
Codice:
SELECT `COL 6` FROM `realtime_es3` WHERE `COL 4` = 'Attiva' AND `COL 6`  between '01/03/2015' and '31/03/2015'
addirittura mi stampa tutti i giorni presenti nella tabella ignorando completamente il between.

Pensavo che il problema potesse essere il fatto che il tipo della colonna data è varchar, ma anche facendo un cast a DATE mi restituisce null.

Grazie in anticipo!
__________________
Photo: Nikon D80 - Nikon 105Vr Micro + Nikon 70-300Vr + 18-135 + 50mm 1.8 + F65 + Canon S3 Is + Casio S600
Pc: Amd X2 6400+ - Asus M2N SLI Deluxe - 4 x 1Gb Corsair XMS2 800mHz cas 4 - Ati Hd 2600 Xt 512Mb ddr3 - Case TT Armor-Coolpanel2 Utenti con cui ho trattato
digital_brain è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2015, 22:00   #2
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Il tipo di dato di `COL 6` è VARCHAR? E contiene solo date formattate "alla europea", giusto?

Perché questa scelta molto poco felice? Perché un nome scomodo che non identifica il contenuto? Per finire, perché 'Attiva' in `COL 4` non è un INT o TINYINT?

Lavorando molto poco efficientemente sui dati grezzi penserei a una cosa del genere:
Codice:
SELECT `COL 6`
FROM `realtime_es3`
WHERE `COL 4` = 'Attiva'
   AND STR_TO_DATE(`COL 6`,'%d/%m/%Y') < NOW()
   AND STR_TO_DATE(`COL 6`,'%d/%m/%Y') BETWEEN '2015-03-01' AND '2015-03-31'
Se si desidera escludere anche la giornata odierna con < NOW(), la soluzione che m'è venuta in mente è questa:
Codice:
SELECT `COL 6`
FROM `realtime_es3`
WHERE `COL 4` = 'Attiva'
   AND ADDTIME( STR_TO_DATE(`COL 6`,'%d/%m/%Y'), '23:59:59.999') < NOW()
   AND STR_TO_DATE(`COL 6`,'%d/%m/%Y') BETWEEN '2015-03-01' AND '2015-03-31'
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2015, 22:40   #3
digital_brain
Senior Member
 
L'Avatar di digital_brain
 
Iscritto dal: Jan 2003
Città: Roma Messaggi Totali:50333
Messaggi: 3519
Che dirti....sei un grande!!!Grazie!!!ho fatto solo una prova veloce ma pare che funziona...il mio errore era nel dare a between gli intervalli con le date in formato europeo anzichè americano?
__________________
Photo: Nikon D80 - Nikon 105Vr Micro + Nikon 70-300Vr + 18-135 + 50mm 1.8 + F65 + Canon S3 Is + Casio S600
Pc: Amd X2 6400+ - Asus M2N SLI Deluxe - 4 x 1Gb Corsair XMS2 800mHz cas 4 - Ati Hd 2600 Xt 512Mb ddr3 - Case TT Armor-Coolpanel2 Utenti con cui ho trattato
digital_brain è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2015, 21:38   #4
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Varie incomprensioni sovrapposte:
  • le colonne contengono stringhe con una formattazione che MySQL non si aspetta
  • è necessario spiegargli come convertirle in un tipo di dato confrontabile con le condizioni che si desidera applicare (DATETIME, in questo caso però privo di time), quindi ho scelto STR_TO_DATE
  • avendo scritto le condizioni con la stessa formattazione inattesa MySQL s'è inventato qualcosa per interpretarle, ma non c'ha azzeccato
Il formato che si aspetta normalmente MySQL nelle condizioni è ISO 8601, di solito uno di questi:
  • aaaa-mm-gg
  • aaaa-mm-gg hh:mm:ss
  • aaaa-mm-gg hh:mm:ss.mmm
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 12-03-2015, 17:25   #5
digital_brain
Senior Member
 
L'Avatar di digital_brain
 
Iscritto dal: Jan 2003
Città: Roma Messaggi Totali:50333
Messaggi: 3519
Grazie mille!
__________________
Photo: Nikon D80 - Nikon 105Vr Micro + Nikon 70-300Vr + 18-135 + 50mm 1.8 + F65 + Canon S3 Is + Casio S600
Pc: Amd X2 6400+ - Asus M2N SLI Deluxe - 4 x 1Gb Corsair XMS2 800mHz cas 4 - Ati Hd 2600 Xt 512Mb ddr3 - Case TT Armor-Coolpanel2 Utenti con cui ho trattato
digital_brain è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Anche Sam Altman ha paura: ecco i due sc...
Perplexity Portable Computer arriva su W...
Se l'IA sostituisse il lavoro i salari r...
Fujitsu Monaka è pronto: 144 core...
Il dispositivo ultra compatto che trasfo...
Bonus colonnine 2026: dal 22 settembre d...
Revolut, una cartella "Italy" ...
Le auto connesse possono vendere i tuoi ...
E se i computer elaborassero le informaz...
NVIDIA non ci sta: "Non lasceremo che l'...
Gli Stati Uniti hanno armi in orbita: ar...
Robot aspirapolvere in offerta su Amazon...
ChatGPT inventa testimoni falsi e un avv...
Find X10 Pro Max di OPPO arriverà...
L'IA scriverà codice migliore del suo st...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:25.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v