Mam tabelę w bazie danych MySQL, która jest skonfigurowana z DATETIME
. Muszę znaleźć się SELECT
w tej tabeli tylko do DATA i z wyłączeniem czasu.
Jak mam SELECT
w tej tabeli tylko datę i pomijanie czasu, nawet jeśli ta konkretna kolumna jest ustawiona na DATETIME
?
Przykład
Teraz jest:
2012-01-23 09:24:41
Muszę zrobić SELECT
tylko w tym celu:2012-01-23
Odpowiedzi:
SELECT DATE(ColumnName) FROM tablename;
Więcej o funkcji MySQL DATE () .
źródło
możesz użyć date_format
dla strefy czasowej
źródło
Możesz używać
select DATE(time) from appointment_details
tylko na randkęlub
Możesz używać
select TIME(time) from appointment_details
tylko na czasźródło
Spróbuj użyć
na dziś:
na wybrany termin:
źródło
W MYSQL mamy funkcję DATE_FORMAT (data, format) . W twoim przypadku wybrane zestawienie będzie wyglądać następująco: -
SELECT DATE_FORMAT(dateTimeFieldName,"%a%m%Y") as dateFieldName FROM table_name
Aby uzyskać więcej informacji o funkcjach MYSQL DATA i CZAS, kliknij tutaj.
źródło
Po prostu możesz to zrobić
źródło
Próbowałem zrobić
SELECT DATE(ColumnName)
, ale to nie działa w przypadkuTIMESTAMP
kolumn †, ponieważ są one przechowywane w UTC, a data UTC jest używana zamiast konwertowania na datę lokalną. Musiałem wybrać wiersze, które były w określonym dniu w mojej strefie czasowej, więc łącząc moją odpowiedź na to drugie pytanie z odpowiedzią Balaswamy Vaddeman na to pytanie , oto co zrobiłem:Jeśli przechowujesz daty jako
DATETIME
Po prostu zrób
SELECT DATE(ColumnName)
Jeśli przechowujesz daty jako
TIMESTAMP
Załaduj dane strefy czasowej do MySQL, jeśli jeszcze tego nie zrobiłeś. W przypadku serwerów Windows zobacz poprzednie łącze. W przypadku serwerów Linux, FreeBSD, Solaris i OS X należy:
Następnie sformatuj zapytanie w ten sposób:
Możesz również umieścić to w
WHERE
części zapytania takiej jak ta (ale pamiętaj, że indeksy w tej kolumnie nie będą działać):(Oczywiście należy zastąpić
America/New_York
lokalną strefę czasową).† Jedynym wyjątkiem jest sytuacja, gdy lokalna strefa czasowa to GMT i nie robisz czasu letniego, ponieważ Twój czas lokalny jest taki sam jak UTC.
źródło
Spróbuj,
SELECT * FROM Profiles WHERE date(DateReg)=$date
gdzie $ data jest w rrrr-mm-ddAlternatywnie
SELECT * FROM Profiles WHERE left(DateReg,10)=$date
Twoje zdrowie
źródło
Możesz spróbować tego:
Jeśli sprawdzisz następujące kwestie:
Widać, że zajmuje to dużo czasu.
źródło
źródło
Spróbuj tej odpowiedzi.
źródło
Posługiwać się
DATE_FORMAT
przykład:
źródło
Można go użyć do pobrania daty w formacie „rrrr-mm-dd”.
źródło
jeśli kolumna czasu znajduje się na znaczniku czasu, za pomocą tego zapytania otrzymasz wartość daty z tego znacznika czasu
źródło
W celu właściwego rozwiązania tego pytania:
Oczywiście możesz zmienić funkcję NOW () na dowolną datę lub zmienną.
źródło