STATION에서 모음(즉, a, e, i, o 또는 u)으로 시작하는 CITY 이름 목록 쿼리
목록 쿼리CITY
모음으로 시작하는 이름(즉, a, e, i, o, 또는 u)STATION
.
내 대답/시도 코드는 다음과 같습니다.
select city from station where REGEXP_LIKE(city,'[^aeiou]+');
하지만 그것은 정확하지 않은 것 같습니다.
이것 좀 도와주세요.
사용하다SUBSTR
select t.city from station t where lower(SUBSTR(city,1,1)) in ('a','e','i','o','u')
BackSlash가 이미 언급한 대로 잘못 작성했습니다.REGEXP_LIKE
패턴 그리고 당신은 그것을 바꾸어야 합니다.'^[aeiou].+'
, 아니면 생략할 수도 있습니다..+
문자열의 첫 글자(1자 이상 포함)에만 관심이 있으므로 패턴에 따라 다음을 수행합니다.
select city from station where REGEXP_LIKE(city,'^[aeiou]');
소문자 모음으로 시작하는 역만 되돌아 올 수 있으니 주의하시기 바랍니다!또한 대문자 모음을 포함하여 패턴에 추가하려는 경우:
select city from station where REGEXP_LIKE(city,'^[aeiouAEIOU]');
안에 명시하거나REGEXP_LIKE
입력된 패턴이 대소문자를 구분하지 않는 호출입니다.'i'
플래그는 다음과 같습니다.
select city from station where REGEXP_LIKE(city,'^[aeiou]', 'i');
도움이 되는 댓글을 주신 MT0님께 감사드립니다.
우리가 도와줬음 좋겠어요!
출력을 얻는 또 다른 방법
select distinct CITY from STATION where left(city,1) in ('a', 'e', 'i', 'o', 'u')
3가지 모두 MySQL에서 작동합니다.
- 정규 표현을 사용함으로써
SELECT DISTINCT(CITY)
FROM STATION
WHERE CITY REGEXP '^[aeiou]';
- OR을 사용하여
SELECT DISTINCT(CITY)
FROM STATION
WHERE (CITY LIKE "A%")
OR (CITY LIKE "E%")
OR (CITY LIKE "I%")
OR (CITY LIKE "O%")
OR (CITY LIKE "U%");
- 사용함으로써
SUBSTR(string, start, length)
.
SUBSD는 1 기반 인덱싱입니다.
그러므로,SUBSTR(CITY, 1, 1)
길이 1의 위치 1에서 부분 문자열을 추출하는 것을 의미합니다.CITY
기둥.
SELECT DISTINCT(CITY)
FROM STATION
WHERE SUBSTR(CITY, 1, 1) IN ('A', 'E', 'I', 'O', 'U');
MSSQL 서버의 경우:
SELECT DISTINCT(city) FROM station WHERE city LIKE '[a,e,i,o,u]%' ;
MySQL의 경우:
SELECT DISTINCT(city) FROM station WHERE SUBSTR(city,1,1) IN ('a','e','i','o','u');
MySQL 솔루션을 사용해 보십시오.
select distinct CITY from STATION where substr(CITY,1,1) in ('a','e','i','o','u');
여기서 "substring"은 중복값 문제를 해결하고 문자열에서 "substring" 함수를 추출합니다. substring은 start & length도 포함합니다. 자세한 내용은 링크를 참조하십시오 :- https://www.w3schools.com/sql/func_mysql_substr.asp
이는 하위 문자열 및 하위 함수를 사용하여 해결할 수 있습니다.
SELECT CITY FROM STATION WHERE LOWER(SUBSTR(CITY,1,1)) in ('a','e','i','o','u');
substring은 문자열의 첫 번째 문자를 찾을 것이고 더 낮은 함수는 이 첫 번째 문자를 더 낮게 만듭니다.일단 우리가 아래 첫 글자를 찾으면 IN 연산자를 사용하면 모음인지 아닌지 알 수 있습니다.
Postgre를 위해 특별히 2개의 답변을 공유하겠습니다.SQL. 첫 번째 쿼리는 ILIKE를 사용하여 모음으로 시작하는 도시를 반환합니다.
SELECT city
FROM table
WHERE city ILIKE 'A%'
OR city ILIKE 'E%'
OR city ILIKE 'I%'
OR city ILIKE 'O%'
OR city ILIKE 'U%';
ILIKE 연산자는 대소문자를 구분하지 않는 일치를 수행하는 데 사용되므로 대문자 모음을 검색하면 자동으로 작은 글자도 사용됩니다.
하지만 이 질문은 너무 길고 중복된다고 생각합니다.이렇게 많은 조건 없이 이 쿼리를 다시 쓸 수 있습니까?네!
다음과 유사한 기능을 사용합니다.
SELECT city
FROM patients
WHERE city SIMILAR TO '[aeiouAEIOU]%'
ORDER BY city ASC;
그러면 도시 열이 모음으로 시작하는 표에서 모든 행이 반환됩니다(즉, 'a', 'E', 'i', 'O' 또는 'U').% 기호는 임의 수의 문자와 일치하는 와일드카드로 사용됩니다.
Postgre에서는 LIKE TO와 LIKE가 동일하지 않습니다.SQL 입니다.
정규식을 포함할 수 있는 패턴과 문자열을 일치시키는 데 사용됩니다.예를 들어 '[AEIOU]%' 패턴을 사용하여 모음으로 시작하는 모든 문자열을 찾을 수 있습니다.
LIKE는 정규식을 포함하지 않는 패턴과 문자열을 일치시키는 데 사용됩니다.= 연산자와 유사하지만 % 및 _ 와일드카드 문자를 사용하여 각각 임의의 숫자 또는 단일 문자와 일치시킬 수 있습니다.예를 들어 LIKE를 사용하면 'A%' 패턴을 사용하여 모음으로 시작하는 모든 문자열을 찾을 수 있습니다.
그것은 나에게 효과가 있었습니다.
SELECT DISTINCT CITY FROM STATION WHERE CITY REGEXP '^[aeiou]'
SELECT DISTINCT CITY FROM STATION WHERE SUBSTR(CITY,1,1) IN ('A','E','I','O','U')
select distinct city from station where regexp_like(city, ‘^[aeiou]’, ‘i’)
또한 모음 '[aeiou]$'로 끝나는 경우와 모음 '^[aeiou]$'로 끝나는 경우 -로 끝나는 경우 -로 시작하는 경우 i-의 경우 무감각으로 끝나는 도시도 선택합니다.
Mysql에겐, 이건 내게 통했어요.
select DISTINCT(CITY) from STATION
where CITY REGEXP '^[aeiou].*';
아래 솔루션은 MySQL DATABY용입니다.
SELECT DISTINCT CITY FROM STATION WHERE CITY LIKE 'a%' OR CITY LIKE 'e%' OR CITY LIKE 'i%' OR CITY LIKE 'o%' OR CITY LIKE 'u%';
select distinct city from station where city ~*'^(a|e|i|o|u)[a-z]$';
포스트그레스 제품입니다.
SELECT DISTINCT CITY
FROM STATION
WHERE CITY LIKE "a%" OR
CITY LIKE "e%"
OR CITY LIKE "i%"
OR CITY LIKE "o%"
OR CITY LIKE "u%";
with cte as (
select CITY ,case when lower(substr(CITY,1,1)) in ('a','e','i','o','u') then 1 else 0 end as Rule2
from STATION
)
select distinct CITY from cte where Rule2=1;
SELECT distinct(city)
FROM station
WHERE city LIKE '[a,e,i,o,u]%'
는 는 regexp 할 를 과 결합하여 할 수 .REGEXP_LIKE
MYSQL
SELECT DISTINCT CITY
FROM STATION
WHERE REGEXP_LIKE(city,'^[AEIOU]');
언급URL : https://stackoverflow.com/questions/54920226/query-the-list-of-city-names-starting-with-vowels-i-e-a-e-i-o-or-u-from
'programing' 카테고리의 다른 글
리프 서명을 확인할 수 없습니다. (0) | 2023.09.16 |
---|---|
자바스크립트에서 날짜에서 분을 빼려면 어떻게 해야 합니까? (0) | 2023.09.16 |
왜 일부 컴파일러는 실행 파일의 기본 이름으로 "a.out"을 사용합니까? (0) | 2023.09.16 |
package-lock.json의 취약한 npm 패키지를 package.json에 나열되지 않은 package-lock.json에서 수정하려면 어떻게 해야 합니까? (0) | 2023.09.16 |
SQL에서 합산 및 그룹화에 따른 결과 차이 (0) | 2023.09.16 |