수평선1203

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

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개

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

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

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

자유게시판

+
제목 글쓴이 날짜 조회
1년 전 조회 1,072
1년 전 조회 1,039
1년 전 조회 1,336
1년 전 조회 1,032
1년 전 조회 1,936
1년 전 조회 1,033
1년 전 조회 1,567
1년 전 조회 1,174
1년 전 조회 1,277
1년 전 조회 1,118
1년 전 조회 1,210
1년 전 조회 1,052
1년 전 조회 1,030
1년 전 조회 926
1년 전 조회 1,067
1년 전 조회 1,236
1년 전 조회 1,152
1년 전 조회 1,007
1년 전 조회 1,371
1년 전 조회 875
1년 전 조회 1,062
1년 전 조회 1,101
1년 전 조회 1,182
1년 전 조회 1,399
1년 전 조회 1,171
1년 전 조회 1,053
1년 전 조회 1,112
1년 전 조회 926
1년 전 조회 880
1년 전 조회 914