convert_tz가 null을 반환합니다.
바보같이 들릴지 모르겠지만
SELECT CONVERT_TZ('2004-01-01 12:00:00','UTC','Asia/Jakarta') AS time
Ubuntu 12.04 64비트에서 MySQL Workbench를 사용하고 있으며 다른 노트북/OS에서도 동작합니다(MySQL Workbench 사용).
이는 표준 시간대 테이블을 mysql에 로드하지 않은 경우에 발생합니다.
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
mysql는 MySQL 고유의 설정 데이터를 보관하고 있는 임베디드 데이터베이스 이름입니다.
이 스레드는 MySQL의 개발 사이트에서 동일한 응답에서 명령을 실행한 후 다음과 같은 시간대를 변환할 수 없는 이유를 알아내기 위해 잠시 시간을 보낸 후 발견되었습니다.
SELECT CONVERT_TZ('2004-01-01 12:00:00','UTC','MET') AS time
OS X 、 2 、 개 os개2 。/usr/share/zoneinfo/Factory ★★★★★★★★★★★★★★★★★」/usr/share/zoneinfo/+VERSION
일시적으로 곳으로 ./usr/share/zoneinfo/.bak/할 수 .
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
예상되는 모든 타임존 정보를 완전히 입력합니다.
설치된 MySQL 버전의 오류일 수도 있고 아닐 수도 있습니다.
$ mysql --version
mysql Ver 14.14 Distrib 5.6.11, for osx10.6 (x86_64) using EditLine wrapper
저도 수술하고 있습니다.STRICT_MODE.
어쨌든, 저는 이것이 해결책을 찾는 사람들에게 몇 가지 골칫거리를 덜어주기를 바랍니다.
Windows 환경과는 별도로 표준 시간대를 설정할 수 있습니다.
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Windows 환경에서는,
1. download Time zone description tables from http://dev.mysql.com/downloads/timezones.html
2. Stop MySQL server
3. Put then inside Mysql installation package C Files(::C:\Program Files\My)SQL\data\mysql)'
4. Start MySQL server
..당신 일은 끝났어요..
그래도 계속하고 있다면NULL★★★★★★에CONVERT_TZ이러한 데이터베이스 테이블을 다운로드하여 mysql 데이터베이스 http://www.4shared.com/folder/Toba2qu-/Mysql_timezone.html에 삽입합니다.
이제 문제가 해결되실 겁니다.:)
MAMP PRO
- .
Terminal cd /usr/share/zoneinfo/sudo mv +VERSION ~/Desktopcd /applications/MAMP/Library/binsudo ./mysql_tzinfo_to_sql /usr/share/zoneinfo | ./mysql -p -u root mysqlsudo mv ~/Desktop/+VERSION /usr/share/zoneinfo/
1)에서는 1) 에 데이터 폴더가.C:\Program Files\MySQL\이치노
2) 을 찾습니다.C:\ProgramData\MySQL\MySQL Server 5.x\Data\mysql으로 이 있어 C:\ProgramData\★★★★★★★★★★★★★★★★★★.
3) [View]탭의 [Settings](설정)을 변경하여 숨겨진 파일과 폴더를 표시합니다.
4) Windows의 [시작]버튼에서 [서비스]를 검색하여 MySQL 서비스를 정지합니다.
압축 후 파일하고 폴더하지 않음 5에 .C:\ProgramData\MySQL\MySQLServer5.x\Data\mysql\
6) MySQL 5.7은 timezone_2017c_posix.zip.sql을 사용합니다.5.하고 있는 5.하여 해당 파일을 MySQL 5.7에 하십시오.C:\ProgramData\MySQL\MySQL Server 5.x\Data\mysql\
7) MySQL 서버를 재시작합니다.CONVERT_TZ()가 작동하는지 확인하려면 다음 SQL 쿼리를 실행합니다.
SELECT CONVERT_TZ('2004-01-01 12:00:00','UTC','Asia/Jakarta');출력에 문제가 없는지 확인합니다.
다음은 Windows에서 MySQL 5.7을 사용하는 경우에 사용할 수 있도록 하기 위한 단계입니다.
- [내 컴퓨터] / [컴퓨터] / [이 PC] 또는 OS의 이름을 오른쪽 클릭하여 [프로퍼티]를 선택합니다.
- 왼쪽 패널에서 [Advanced system settings](시스템 상세 설정)을 선택합니다.
- "환경 변수"를 선택하고 MySQL bin 디렉토리의 전체 경로 이름(일반적으로 C:\Program Files\My)을 입력합니다.SQL\MySQL Server 5.7\bin)을 클릭합니다.
- cmd 프롬프트를 열고 다음을 사용하여 mysql로 들어갑니다.
mysql -u root -p password. - 를 입력하십시오.
use mysqlMySQL DB를 선택합니다. - "timezone" 파일을 다운로드합니다.https://dev.mysql.com/downloads/timezones.html의 YYYc_posix_sql.zip" (YYYY 대신 2017년 또는 2018년과 같이 해당 페이지에서 사용 가능한 최대 연도를 치환합니다.
- 압축을 풀고 파일을 텍스트 편집기에서 엽니다.
- 내용을 복사하여 cmd 프롬프트에서 실행합니다.
정상적으로 완료하면, 다음을 사용할 수 있습니다.CONVERT_TZ기타 시간대 기능.
Windows에서 MySql을 사용하는 경우 mysql 스키마에 시간대 데이터를 로드해야 합니다.좋은 사용법을 소개합니다.http://www.geeksengine.com/article/populate-time-zone-data-for-mysql.html
이렇게 하지 않으면 CONVERT_ 함수가 됩니다.TZ가 입력 시간대를 인식하지 않습니다(예: ').UTC'('아시아/자카르타')는 NULL을 반환합니다.
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
에러가 나면data too long for column 'abbreviation' at row 1https://bugs.mysql.com/bug.php?id=68861 를 참조해 주세요.
수정은 다음을 실행하는 것입니다.
이것은 mysql 모드를 비활성화하기 위한 행을 추가하고 mysql이 잘린 데이터를 삽입할 수 있도록 합니다.이것은 mysql이 마지막에 늘 문자를 추가하는 mysql 버그 때문입니다(위 링크에 따라).
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
(if the above gives error "data too long for column 'abbreviation' at row 1")
mysql_tzinfo_to_sql /usr/share/zoneinfo > /tmp/zut.sql
echo "SET SESSION SQL_MODE = '';" > /tmp/mysql_tzinfo_to.sql
cat /tmp/zut.sql >> /tmp/mysql_tzinfo_to.sql
mysql --defaults-file=/etc/mysql/my.cnf --user=verifiedscratch -p mysql < /tmp/mysql_tzinfo_to.sql
XAMPP를 사용하는 Mac OS Catalina에서는
터미널에서 /Applications/XAMPP/xamppfiles/bin 폴더로 이동한 후 다음을 실행합니다.
./mysql_tzinfo_to_sql /usr/share/zoneinfo | sed -e "s/Local time zone must be set--see zic manual page/local/" | ./mysql -u root mysql
이건 나한테 효과가 있었어.
언급URL : https://stackoverflow.com/questions/14454304/convert-tz-returns-null
'source' 카테고리의 다른 글
| 리스트는 스레드 세이프입니까? (0) | 2023.01.15 |
|---|---|
| Python: 예외를 무시하고 계속 진행하려면 어떻게 해야 합니까? (0) | 2023.01.15 |
| Python 스크립트를 프로파일하려면 어떻게 해야 하나요? (0) | 2023.01.15 |
| jQuery를 사용하여 체크박스에 대해 "체크" 설정 (0) | 2023.01.15 |
| Mysql은 sudo와 함께 작동하지만 그렇지 않습니다.(ubuntu 16.04, mysql 5.7.12-0ubuntu1).1) (0) | 2023.01.15 |