You can add up 1 for each non-null field:
SELECT PrimaryKey, 0+(CASE WHEN Child1DOB IS NOT NULL THEN 1 ELSE 0 END)
+(CASE WHEN Child2DOB IS NOT NULL THEN 1 ELSE 0 END)
+(CASE WHEN Child3DOB IS NOT NULL THEN 1 ELSE 0 END)
+(CASE WHEN Child4DOB IS NOT NULL THEN 1 ELSE 0 END) AS numChildren
FROM tab
or if your NULL values are always found within the last columns, you can check for each column if there's a null or not, and state the number of children directly:
SELECT PrimaryKey,
CASE WHEN Child4DOB IS NOT NULL THEN 4
WHEN Child3DOB IS NOT NULL THEN 3
WHEN Child2DOB IS NOT NULL THEN 2
ELSE 1 END AS numChildren
FROM tab
Both these two queries are likely to work on any DBMS that features the CASE statement.