100 개의 ‘Y’또는 ‘N’자 문자열 인 SQL 열이 있습니다. 예를 들면 :
YYNYNYYNNNYYNY …
각 행의 모든 ’Y’기호 수를 얻는 가장 쉬운 방법은 무엇입니까?
답변
SQL Server에서 :
SELECT LEN(REPLACE(myColumn, 'N', ''))
FROM ...
답변
이 스 니펫은 부울이있는 특정 상황에서 작동합니다. “비 N이 몇 개입니까?”라고 대답합니다.
SELECT LEN(REPLACE(col, 'N', ''))
다른 상황에서 실제로 주어진 문자열에서 특정 문자 (예 : ‘Y’)의 발생 횟수를 계산하려는 경우 다음을 사용하십시오.
SELECT LEN(col) - LEN(REPLACE(col, 'Y', ''))
답변
이것은 매번 정확한 결과를주었습니다 …
이것은 내 줄무늬 필드에 있습니다 …
노란색, 노란색, 노란색, 노란색, 노란색, 노란색, 검은 색, 노란색, 노란색, 빨간색, 노란색, 노란색, 노란색, 검은 색
- 11 노란색
- 2 검정
- 1 빨간색
SELECT (LEN(Stripes) - LEN(REPLACE(Stripes, 'Red', ''))) / LEN('Red')
FROM t_Contacts
답변
DECLARE @StringToFind VARCHAR(100) = "Text To Count"
SELECT (LEN([Field To Search]) - LEN(REPLACE([Field To Search],@StringToFind,'')))/COALESCE(NULLIF(LEN(@StringToFind), 0), 1) --protect division from zero
FROM [Table To Search]
답변
아마 이런 …
SELECT
LEN(REPLACE(ColumnName, 'N', '')) as NumberOfYs
FROM
SomeTable
답변
가장 쉬운 방법은 Oracle 기능을 사용하는 것입니다.
SELECT REGEXP_COUNT(COLUMN_NAME,'CONDITION') FROM TABLE_NAME
답변
이것은 N의 발생 횟수를 반환합니다.
select ColumnName, LEN(ColumnName)- LEN(REPLACE(ColumnName, 'N', ''))
from Table