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

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

· 11개월 전 · 928 · 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개

11개월 전

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

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

게시글 목록

번호 제목
1717652
1717651
1717650
1717648
1717635
1717629
1717626
1717625
1717621
1717619
1717611
1717610
1717609
1717607
1717601
1717598
1717591
1717590
1717583
1717575
1717572
1717568
1717566
1717549
1717545
1717533
1717512
1717511
1717508
1717495