[SQL] 날짜에서 시간을 제거하는 방법
SQL날짜에서 시간을 제거하는 방법
데이터베이스의 필드 날짜는 다음 형식을 가지고 :
2012-11-12 00:00:00
나는 날짜에서 시간을 제거하고 같은 날짜를 반환하고 싶습니다 :
11/12/2012
해결법
-
==============================
1.날짜는 VARCHAR 형식 변경에있는 경우 우선 날짜로 저장 날짜가 당신에게 두통을 많이 절약 할 수 있음을 먼저 그리고 그것은 가장 조만간 이루어집니다 무언가이다. 문제는 더 악화됩니다.
날짜는 VARCHAR 형식 변경에있는 경우 우선 날짜로 저장 날짜가 당신에게 두통을 많이 절약 할 수 있음을 먼저 그리고 그것은 가장 조만간 이루어집니다 무언가이다. 문제는 더 악화됩니다.
당신이 날짜를 일단 둘째하는 VARCHAR로 날짜를 변환하지 마십시오! 날짜 형식에 보관하고 필요한 날짜 형식을 얻을 수있는 응용 프로그램 측에서 서식을 사용합니다.
이 당신의 DBMS에 따라 작업을 수행하는 여러 가지 방법이 있습니다 :
SQL-Server 2008 및 이상 :
SELECT CAST(CURRENT_TIMESTAMP AS DATE)
SQL-Server 2005 및 이전
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, CURRENT_TIMESTAMP), 0)
SQLite는
SELECT DATE(NOW())
신탁
SELECT TRUNC(CURRENT_TIMESTAMP)
PostgreSQL을
SELECT CURRENT_TIMESTAMP::DATE
당신이 당신의 보고서에 서식 문화의 특정을 사용해야하는 경우 당신은 명시 적으로 (예를 들어, 일 / 월 / 년) 수신 텍스트 상자의 형식을 명시 할 수 있습니다, 또는 당신은 해당 언어 관련 날짜 형식을 보여줍니다되도록 언어를 설정할 수 있습니다.
어느 쪽이든이 훨씬 더 나은 서비스를 정렬 어떤 보고서에 할 수있다 영향을 SQL 내에서 VARCHAR로 변환으로 SQL의 외부 처리됩니다.
당신은 / DATETIME에 데이터 유형을 변경하지 않을 수없는 경우 아직 보고서 서비스에 보내기 전에 SQL에서 날짜 (예를 들어, CONVERT (DATETIME, yourField))로 변환하고 위에 설명 된대로 처리합니다.
-
==============================
2.단지 사용 (SQL에서)
단지 사용 (SQL에서)
SELECT convert(varchar, columnName, 101)
MySQL은
SELECT DATE_FORMAT(columnName, '%m/%d/%Y')
-
==============================
3.나는이 방법이 매우 유용하다는 것을 발견했다. 그러나 그것은 단지 날짜에 날짜 / 시간 형식을 변환하지만 결코 덜 나는 그것을 필요에 대한 작업을 수행합니다. (난 그냥 보고서에 날짜를 표시하는 데 필요한 시간은 무관했다).
나는이 방법이 매우 유용하다는 것을 발견했다. 그러나 그것은 단지 날짜에 날짜 / 시간 형식을 변환하지만 결코 덜 나는 그것을 필요에 대한 작업을 수행합니다. (난 그냥 보고서에 날짜를 표시하는 데 필요한 시간은 무관했다).
CAST(start_date AS DATE)
최신 정보
(곰 염두에 나는 연수생 해요;))
나는 당신이 SSRS를 사용하는 경우이 작업을 수행 할 수있는 쉬운 방법을 생각.
실제로 필드가 보고서에있는 텍스트 상자의 속성을 변경하는 것이 더 쉽습니다. 오른쪽 클릭 필드> 수> 날짜 및 적절한 형식을 선택!
-
==============================
4.개인적으로, 전체, 기본 날짜 값을 반환하고 클라이언트 코드에서이 형식을 것입니다.
개인적으로, 전체, 기본 날짜 값을 반환하고 클라이언트 코드에서이 형식을 것입니다.
그런 식으로, 해당 사용자에 대한 올바른 의미를 부여하기 위해 사용자의 로케일 설정을 사용할 수 있습니다.
"11/12"는 모호합니다. 그것은이다 :
-
==============================
5.
SELECT DATE('2012-11-12 00:00:00');
보고
2012-11-12
-
==============================
6.더 많은 정보를 위해이 참조 : SQL 서버의 날짜 형식을
더 많은 정보를 위해이 참조 : SQL 서버의 날짜 형식을
[MM / DD / YYYY]
SELECT CONVERT(VARCHAR(10), cast(dt_col as date), 101) from tbl
[DD / MM / YYYY]
SELECT CONVERT(VARCHAR(10), cast(dt_col as date), 103) from tbl
-
==============================
7.적어도 mysql을, 당신은 DATE (날짜)를 사용할 수 있습니다.
적어도 mysql을, 당신은 DATE (날짜)를 사용할 수 있습니다.
-
==============================
8.다음을 시도 할 수 있습니다 :
다음을 시도 할 수 있습니다 :
SELECT CONVERT(VARCHAR(10),yourdate,101);
아니면 이거:
select cast(floor(cast(urdate as float)) as datetime);
-
==============================
9.이 SQL을 사용합니다 :
이 SQL을 사용합니다 :
SELECT DATE_FORMAT(date_column_here,'%d/%m/%Y') FROM table_name;
-
==============================
10.전부의
전부의
SELECT CONVERT(DATE, GETDATE()) // 2019-09-19 SELECT CAST(GETDATE() AS DATE) // 2019-09-19 SELECT CONVERT(VARCHAR, GETDATE(), 23) // 2019-09-19
from https://stackoverflow.com/questions/14279849/how-to-remove-time-from-datetime by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 포스트 그레스 오류 : 표현으로 사용되는 하위 쿼리에 의해 반환 된 둘 이상의 행 (0) | 2020.05.23 |
---|---|
[SQL] MySQL은 / SQL 텍스트 필드의 처음 40 개 문자를 검색? (0) | 2020.05.23 |
[SQL] 하위 쿼리와 SQL의 UPDATE 그 참조 MySQL은 같은 테이블 (0) | 2020.05.23 |
[SQL] MySQL의 GROUP_CONCAT 중복 (0) | 2020.05.23 |
[SQL] 오라클의 FROM 절없이 선택 (0) | 2020.05.23 |