この SQLfiddle デモでは、説明したエラーが発生します。
データ型ごとに異なる式が必要です。または、優先順位の低いデータ型 (文字列) を優先順位の高いデータ型 (int) と互換性を持たせる必要があります。通常は int を文字列に変換します。
あなたの要件は明確ではありませんが、より簡単な方法は、単純に順番に注文することです. 例えば:
SELECT clientId, CountryCode
FROM dbo.client
ORDER BY CountryCode, clientId;
SQLfiddle デモ
条件を導入することもできますが、必須ではないようです。
SELECT clientId,
CountryCode
FROM dbo.client
ORDER BY CountryCode, CASE
WHEN CountryCode IS NULL
THEN clientId END;
SQLfiddle デモ
...またはこれは、少し異なる方法で注文します...
SELECT clientId,
CountryCode
FROM dbo.client
ORDER BY CASE
WHEN CountryCode IS NULL
THEN clientId END, CountryCode;
SQLfiddle デモ
繰り返しますが、要件が不明確です。どちらも、希望する結果が得られない可能性があります。期待する出力を正確に示していただければ、必要なコードを作成できます。