[SQL] MySQL의 - 장소 날짜 유형 변경 날짜 문자열?
SQLMySQL의 - 장소 날짜 유형 변경 날짜 문자열?
(안녕하세요. 저는 SQL 특히 MySQL의 새로운 틱 해요. 좀 PHP를 알고있다.)
나는 "DATE_STRING"열을 포함하는 테이블이 있습니다. 레거시 이유로,이 D / m / YY 형식의 날짜를 포함하는 텍스트 필드이다. 예를 들면 2009년 11월 22일에 대한 "22/11/09".
질문 : 어떻게 (YYYY-MM-DD) 표준 MySQL의 날짜 형식이 열에서 모든 필드를 변환 할 수 있습니다, 현재 위치에서?
또는, 어떻게 각각의 기존 텍스트 기반의 일을, 테이블 내에서 ( '날짜'형의) 다른 열 표준 날짜를 만들 수, 열 유형이 텍스트임을 주어진 장소에서 변경할 수있는 실패?
어떤 도움을 주셔서 감사합니다.
해결법
-
==============================
1.당신은 아마 STR_TO_DATE () 함수를 사용하고 싶습니다.
당신은 아마 STR_TO_DATE () 함수를 사용하고 싶습니다.
SELECT STR_TO_DATE(textdate, '%d/%m/%y') FROM MyTable...
또는 DATE 데이터 유형과 다른 열을 생성하고 값을 복사 :
ALTER TABLE MyTable ADD COLUMN realdate DATE; UPDATE MyTable SET realdate = STR_TO_DATE(textdate, '%d/%m/%y');
-
==============================
2.
UPDATE your_table SET your_col = '20' + substring(your_col, LOCATE('/', your_col, LOCATE('/', your_col) + 1) + 1 ) + '-' + substring(your_col, LOCATE('/', your_col) + 1, LOCATE('/', your_col, LOCATE('/', your_col) + 1) ) + '-' + substring(your_col, 1, LOCATE('/', your_col) - 1) /* LOCATE('/', your_col) -> search for 1st occurence of '/' in your_col LOCATE('/', your_col, LOCATE('/', your_col) + 1) -> search for 2nd occurence of '/' in your_col LOCATE('/', your_col, LOCATE('/', your_col) + 1) + 1 -> from where to retriev the last part */
(I는> = 이천년 가정)
-
==============================
3.당신은 MySQL의 내에서이 일을 문제가있는 경우, 당신은 () 한 strtotime를 사용하여 날짜를 변환하여 PHP를 시도 할 수
당신은 MySQL의 내에서이 일을 문제가있는 경우, 당신은 () 한 strtotime를 사용하여 날짜를 변환하여 PHP를 시도 할 수
from https://stackoverflow.com/questions/1408285/mysql-change-date-string-to-date-type-in-place by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 오라클 10g에 피벗 (0) | 2020.05.28 |
---|---|
[SQL] 작은 따옴표로 묶인 변수에 SQL 주입을 방지하기 위해 반드시 htmlspecialchars의 부족인가? (0) | 2020.05.28 |
[SQL] 테이블 및 컬럼 이름을 전달 동적 바인딩 변수를 사용하여 (0) | 2020.05.28 |
[SQL] 어떻게 다른 컬럼에 문자열을 분리하는? (0) | 2020.05.28 |
[SQL] PostgreSQL의에서 병렬 unnest () 및 정렬 순서 (0) | 2020.05.28 |