Categories:

Data metric functions

INVALID_ES_DNI_PERCENT (system data metric function)

Returns the percentage of column values that are not a Spanish DNI number: eight digits followed by a check letter. The percentage is computed over the total row count, including NULL values in the denominator.

This topic provides the syntax for calling the function directly. To learn how to associate the function with a table or view so it runs at regular intervals, see Associate a DMF.

Syntax

SNOWFLAKE.CORE.INVALID_ES_DNI_PERCENT(<query>)

Arguments

query

Specifies a SQL query that projects a single column.

Allowed data types

The column projected by the query must have the VARCHAR data type.

Returns

The function returns a FLOAT value. The function returns NULL if the table or view has no rows.

Usage notes

  • The value must be eight digits followed by one of the 23 DNI check letters. The letters I, O, and U are never used.
  • Letters are matched case-insensitively.
  • The whole value must match. A value with leading or trailing whitespace, or with separators other than the ones described here, is counted.
  • Foreigner identity numbers (NIE), which start with X, Y, or Z, are counted.
  • The function checks the format only; it does not verify that the check letter matches the digits.

Example

Measure the percentage of invalid Spanish DNI numbers in the dni column:

SELECT SNOWFLAKE.CORE.INVALID_ES_DNI_PERCENT(
  SELECT
    dni
  FROM hr.tables.employees
);