자정 이후에> 24 시간으로 대중 교통 서비스를 정의하는 도시에 대한 일반 대중 교통 정보 사양 데이터베이스가 있습니다. 따라서 stop_times 테이블에서 우리는 25:00:00, 26:00:00, 등등.이 데이터베이스의 일부에서 시간 빼기를 수행해야하기 때문에 이것을 처리하고 python create_function sqlite 명령을 사용하는 사용자 정의 파이썬 스크립트를 작성한다고 생각했습니다. 그것을 내 데이터베이스와 연관시킨다. 나는이 데이터 집합에 생각하고있는 쿼리를 실행할 때 몇 가지 이유를 들어 자정 이후에 Sqlite 시간 빼기를위한 Python 스크립트
는, 나는sqlite3.OperationalError: user-defined function raised exception
가 여기에 내가 자정 이후 시간을 처리하기 위해 쓴 시간 뺄셈 함수의 수. 나는 그것이 엉망이라고 확신한다. 이 문제를보다 효율적으로 처리하는 방법에 대한 조언이 있으면 그 내용도 듣고 싶습니다. 미리 감사드립니다.
def time_delta(t1, t2):
old_arrival = t1.encode('utf-8').split(':')
old_departure = t2.encode('utf-8').split(':')
new_arrival_string = "2013-03-16 %s:%s:%s" % (int(old_arrival[0])-12, old_arrival[1], old_arrival[2])
new_arrival_format = "%Y-%m-%d %H:%M:%S"
arr = datetime.datetime.strptime(new_arrival_string, new_arrival_format)
new_departure_string = "2013-03-16 %s:%s:%s" % (int(old_departure[0])-12, old_departure[1], old_departure[2])
new_departure_format = "%Y-%m-%d %H:%M:%S"
dep = datetime.datetime.strptime(new_departure_string, new_departure_format)
difference = arr-dep
seconds = difference.seconds
if difference.days < 0:
difference = dep-arr
seconds = (-1) * difference.seconds
return seconds
함수에 예외를 기록하십시오. –
해당 기능 내에서 [try/except] (http://docs.python.org/tutorial/errors.html)를 사용하십시오. –
sqlite가이 함수를 실행하는 동안 어떻게 이것을 할 수 있습니까? SQL에서 나오는 unsubtracted 결과를 반복하고 함수를 직접 호출하면 sys.excepthook을 통해 캐치되지 않은 예외가 기록되지 않습니다. SQL이 SQL 문을 실행하는 동안 어떻게 기록 할 수 있습니까? –