으로 설정된 MySQL 데이터베이스에 테이블이 DATETIME
있습니다. SELECT
이 테이블에는 DATE까지만 필요 하며 시간은 제외됩니다.
어떻게 할 SELECT
특정 열이으로 설정되어있는 경우에도, 단지 날짜와 시간을 우회하여이 테이블에 DATETIME
?
예
지금이야:
2012-01-23 09:24:41
나는 SELECT
이것을 위해 만해 야합니다.2012-01-23
답변
답변
date_format을 사용할 수 있습니다.
select DATE_FORMAT(date,'%y-%m-%d') from tablename
시간대
sql2 = "SELECT DATE_FORMAT(CONVERT_TZ(CURDATE(),'US/Central','Asia/Karachi'),'%Y-%m-%d');"
답변
select DATE(time) from appointment_details
날짜에만 사용할 수 있습니다
또는
select TIME(time) from appointment_details
시간에만 사용할 수 있습니다
답변
오늘 사용해보십시오 :
SELECT * FROM `tbl_name` where DATE(column_name) = CURDATE()
선택한 날짜 :
SELECT * FROM `tbl_name` where DATE(column_name) = DATE('2016-01-14')
답변
MYSQL에는 DATE_FORMAT (date, format) 이라는 함수가 있습니다 . 귀하의 경우 선택 문은 다음과 같습니다.
SELECT DATE_FORMAT(dateTimeFieldName,"%a%m%Y") as dateFieldName FROM table_name
Mysql DATE 및 TIME 함수에 대한 자세한 내용을 보려면 여기를 클릭하십시오.
답변
간단히 할 수 있습니다
SELECT DATE(date_field) AS date_field FROM table_name
답변
나는 일을 시도 SELECT DATE(ColumnName)
하지만 이것이 작동하지 않습니다 에 대한 TIMESTAMP
열 † 그들이 UTC에 저장되며 UTC 날짜 대신 현지 날짜로 변환하는 데 사용되기 때문이다. 내 시간대의 특정 날짜에있는 행을 선택해야했기 때문에이 다른 질문에 대한 내 답변을이 질문에 대한 Balaswamy Vaddeman의 답변 과 결합하여 다음을 수행했습니다.
날짜를 다음과 같이 저장하는 경우 DATETIME
그냥 해 SELECT DATE(ColumnName)
날짜를 다음과 같이 저장하는 경우 TIMESTAMP
아직 로드 하지 않은 경우 시간대 데이터를 MySQL에로드합니다 . Windows 서버의 경우 이전 링크를 참조하십시오. Linux, FreeBSD, Solaris 및 OS X 서버의 경우 다음을 수행합니다.
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
그런 다음 다음과 같이 쿼리 형식을 지정합니다.
SELECT DATE(CONVERT_TZ(`ColumnName`, 'UTC', 'America/New_York'))
WHERE
다음과 같이 쿼리 의 일부에 넣을 수도 있습니다 (하지만 해당 열의 인덱스는 작동하지 않습니다).
SELECT * FROM tableName
WHERE DATE(CONVERT_TZ(`ColumnName`, 'UTC', 'America/New_York')) >= '2015-02-04'
(분명히 America/New_York
현지 시간대로 대체 하십시오.)
† 이에 대한 유일한 예외는 현지 시간대가 GMT이고 현지 시간이 UTC와 동일하기 때문에 일광 절약 시간제를 사용하지 않는 경우입니다.