We.TIL 번외 : valueerror: unsupported format character 'Y' (0x59)

김기욱·2020년 10월 4일
1

We.TIL

목록 보기
66/69

원인

다음과 같은 SQL문을 파이썬 문자와 혼용하게 되면 흔히 발생가능한 오류다.

"""
SELECT 
    q.id as question_id,
    date_format(q.created_at,'%Y.%m.%d'),
    q.question_content
FROM
    questions q
WHERE
    q.id = %s
"""	

WHERE절에 스트링포매팅이 추가되면서 상단에 있는 date_format SQL문과 충돌이 발생하게 되며 밸류에러가 생기게 된다.

해결법

상단에 있는 Date쪽 포맷형식을 %대신 %%으로 바꾸면된다.

"""
SELECT 
    q.id as question_id,
    date_format(q.created_at,'%%Y.%%m.%%d'),
    q.question_content
FROM
    questions q
WHERE
    q.id = %s
"""	
profile
어려운 것은 없다, 다만 아직 익숙치않을뿐이다.

0개의 댓글