테스트 사이트 - 개발 중인 베타 버전입니다

그누보드를 sqlite 로 마이그레이션하다가 생긴일이에요.

· 12개월 전 · 931 · 1

sqlite 로 마이그레이션 하다가 메뉴가 안나오길래 클로드에게 물어봤어요.

SELECT * FROM g5_menu 
WHERE me_use = '1' and length(me_code) = '2' 
ORDER BY me_order, me_id

위 쿼리가 안된다고 했더니 이렇게 해보라고 하더라구요.

SELECT * FROM g5_menu 
WHERE me_use = '1' AND me_code IN (
    SELECT me_code FROM g5_menu WHERE length(me_code) = 2
) 
ORDER BY me_order, me_id

1. SQLite는 WHERE 절에서 직접적으로 함수를 사용하는 것을 제한하고 있습니다.

2. length() 함수는 주로 SELECT 절에서 사용되며, WHERE 절에서는 직접 사용할 수 없습니다.

 

근데 서브쿼리에서 length함수를 사용하는 방식으로 알려주는거에요.

이상했죠.

그래서 sqlite는 이렇게 해야 하나보다라고 생각했는데

좀 더 생각해보니

length(me_code) = '2' 를 length(me_code) = 2 로 그냥 숫자형태로 하면 되더라구요.

 

ai가 절대 모른다고 하지 않는거에 당했어요.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

기본적으로, 따옴표는 문자입니다.

어느 프로그램에서나.. 그렇죠.

게시판 목록

자유게시판

글쓰기
🐛 버그신고