> ## Documentation Index
> Fetch the complete documentation index at: https://villagesql.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MySQL용 vsql_luhn 확장 기능

> vsql_luhn 커뮤니티 확장 기능은 카드 번호, IMEI 코드, 바코드 등의 식별자를 위해 MySQL에서 Luhn 검사 숫자를 검증하고 생성합니다.

카드 번호, IMEI 코드, 캐나다 사회보험번호는 모두 Luhn 검사 숫자를 가지며,
손으로 입력한 식별자가 잘못되는 가장 흔한 원인은 숫자 하나의 오타입니다.
`vsql_luhn`은 이 검사 숫자를 확인하고 생성하므로, `CHECK` 제약 조건이 잘못된
번호를 행에 들어가기 전에 거부할 수 있습니다.

| | |
| - | - |
| **관리자** | [Anurag Ojha](https://github.com/intojhanurag) |
| **소스 및 문서** | [intojhanurag/vsql-luhn](https://github.com/intojhanurag/vsql-luhn) |
| **라이선스** | GPL-2.0 |

> [!NOTE]
>
> 이 확장 기능은 제3자가 작성하고 관리합니다. VillageSQL은 이를 빌드, 테스트,
> 배포하지 않으며, 아래 설명은 관리자의 자체 문서를 따릅니다. 이 확장 기능에
> 의존하기 전에 해당 문서를 읽으세요.

## 설치

저장소에서 VillageSQL 빌드 트리(`VillageSQL_BUILD_DIR`)를 기준으로 빌드하고, `.veb` 파일을 서버의 `veb_dir`에 복사한 다음 설치합니다:

```sql theme={null}
INSTALL EXTENSION vsql_luhn;
```

## 추가되는 기능

| 함수 | 반환값 | 설명 |
| - | - | - |
| `luhn_valid(value)` | int | 문자열이 체크섬을 통과하면 1, 아니면 0. 공백과 하이픈은 무시하고, 숫자가 아닌 텍스트는 오류 대신 0을 반환 |
| `luhn_checkdigit(partial)` | text | 부분 식별자에 올바른 검사 숫자를 덧붙임 |

`luhn_valid`는 숫자가 아닌 텍스트에서 실패하지 않고 0으로 답하므로, 검증되지
않은 입력 열에 대한 `WHERE` 절에 바로 넣을 수 있습니다.

## 참고 항목

* [사용 가능한 확장 기능](https://villagesql.com/docs/ko/extensions/catalog) — 전체 카탈로그
* [intojhanurag/vsql-luhn](https://github.com/intojhanurag/vsql-luhn) — 소스, 예제, 알려진 제한 사항


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.