2016-07-25 1 views
0

DBzone에 대한 SQLite의 설정을 IST (인도 표준시 +5 : 30)로 변경하는 방법을 검색했습니다. 쿼리를 실행하지 않고 직접 설정하는 방법은 무엇입니까? 또한 db 시간을 IST로 변환 할 수있는 SQL 쿼리를 발견했지만 거의 모두 SELECT 문입니다. 시간대를 영구적으로 변경하는 설정을 찾고 있는데 가능하지 않으면 데이터베이스의 모든 레코드를 읽고 변경/변환/모든 시간을 IST로 바꿀 수있는 업데이트 쿼리가 될 수 있습니다. 누군가가 그것에 대해 밝힐 수 있습니까?SQLite 용 DB 브라우저에서 시간대를 IST (+5 : 30)로 설정

내 필드의 이름은 내가했다

INSERT INTO MyTable(MyColumn) VALUES(datetime(CURRENT_TIMESTAMP, 'localtime')) 

검색 무엇 CREATE TABLE

DATETIME NOT NULL로 설정 "expire_time"하지만 난이 삽입 문을 찾고 있지 않다

SELECT datetime(1092941466, 'unixepoch', 'localtime'); 

하지만, 선택 진술을 찾고 있지 않다.

SQLite 용 DB 브라우저에서 사용할 수있는 경우 설정 또는 GMT에서 IST 로의 모든 시간을 변경할 수있는 업데이트 쿼리를 도와주세요.

감사합니다.

편집

enter image description here

enter image description here

답변

2

SQLite는 더 DATETIME 형식이 없습니다. 또한 다른 DBMS와는 매우 다른 데이터 유형을 처리합니다. 예를 들어

CREATE TABLE T (
    Field MYTYPE 
); 

이 실행됩니다. Sqlite는 데이터 유형 선호도 https://www.sqlite.org/datatype3.html#affinity을 적용하여 CREAT TABLE을 지정하지 않고 사용할 구현 된 데이터 유형 중 하나를 찾습니다. DATETIME (및 MYTYPE) 연관 관계는 NUMERIC입니다. 즉, 원하는 모든 유형 (예 : TEXT)을 column이 저장할 수 있음을 의미하는 특수 연관 관계입니다.

이것은 Sqlite에서 DATETIME으로 작업하는 유일한 방법은 datetime 함수입니다. 그리고 그 함수는 기본 시간대 UTC를 사용합니다. 다른 모든 시간대는 datetime 문자열의 일부로 명시 적으로 제공되어야합니다. PRAGMA 또는이 기본값을 변경할 항목이 없습니다.

편집
expire_time 문자열 d 명시 적 시간대가 포함되어있는 경우 대부분의 아마 NULL을 반환합니다 예를

select datetime(expire_time, '+05 hours','+30 minutes') || ' IST' as t 

datetime(d,'utc')에 대한 특정 시간대의 텍스트 값을 얻을 수 있습니다 UTC 시간의 문자열 표현은, 현재합니다. 그래서 조언은 DB에 UTC로 datetime을 저장하고 출력을 생성 할 때만 필요한 다른 시간대로 변환하도록 표준화합니다. 이 방법으로 모든 Sqlite 툴 벨트를 처분 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 테이블을 수정하러 갔고 DATETIME 옵션을 선택했습니다. 그래서 당신이 보낸 것으로부터 이해할 수있는 것은 그것이 순수한 날짜 시간 형식으로 취급되지 않으며 텍스트 나 숫자에 관계없이 그 안에 어떤 것을 담을 수 있다는 것입니다. 그래서 만약 우리가 그 값들을 동일한 값으로 바꾸지 만 그것에 5 시간 30 분을 더할 필요가 있다면. 업데이트 쿼리가 가능합니까?그렇다면 업데이트 쿼리 구문을 알려주십시오 (기존 값을 +5:30으로 대체). 고마워 ... btw. 이미지로 내 질문을 업데이트했습니다. – Sabha

+0

수정 된 답변보기 – Serg

+0

미안하지만이 사실을 이해하지 못합니다. 나는 노 보스이고 내가 지금까지 한 모든 것은 Google 검색 및 연구를 기반으로합니다. 위의 그림에 표시된 시간을 현지 시간으로 변환하려면 첫 번째 예에서 '2016-07-25 04 : 47 : 05.452000'을'2016-07-25 10 : 17 : 05.452000'으로 변환해야하고 i 이를 변환하고 이전 시간을 +5 : 30이 될 새로운 시간으로 바꾸는 방법을 알고 싶습니다. 감사합니다 – Sabha