수평선1203

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

· 2024-12-09 (월) 21:25:14 · 1292 · 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개

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

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

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

자유게시판

203,084건
+
제목 글쓴이 날짜 조회
24-12-11 조회 1,188
24-12-11 조회 1,366
24-12-10 조회 1,272
24-12-10 조회 1,617
24-12-10 조회 1,266
24-12-10 조회 2,284
24-12-10 조회 1,258
24-12-10 조회 1,824
24-12-10 조회 1,477
24-12-10 조회 1,513
24-12-10 조회 1,352
24-12-10 조회 1,475
24-12-10 조회 1,269
24-12-10 조회 1,260
24-12-10 조회 1,166
24-12-09 조회 1,293
24-12-09 조회 1,534
24-12-09 조회 1,393
24-12-09 조회 1,216
24-12-09 조회 1,614