title: "SQLSpecialColumns | Microsoft Docs" ms.custom: "" ms.date: "03/17/2017" ms.prod: "sql" ms.prod_service: "database-engine, sql-database, sql-data-warehouse, pdw" ms.service: "" ms.component: "native-client-odbc-api" ms.reviewer: "" ms.suite: "sql" ms.technology:
ms.tgt_pltfrm: "" ms.topic: "reference" apitype: "DLLExport" helpviewer_keywords:
- "SQLSpecialColumns function" ms.assetid: dffe02ed-8f79-4c9a-af34-98130bbe5462 caps.latest.revision: 35 author: "MightyPen" ms.author: "genemi" manager: "craigg" ms.workload: "Inactive" monikerRange: ">= aps-pdw-2016 || = azuresqldb-current || = azure-sqldw-latest || >= sql-server-2016 || = sqlallproducts-allversions"
[!INCLUDEappliesto-ss-asdb-asdw-pdw-md] [!INCLUDESNAC_Deprecated]
When requesting row identifiers (IdentifierType SQL_BEST_ROWID), SQLSpecialColumns returns an empty result set (no data rows) for any requested scope other than SQL_SCOPE_CURROW. The generated result set indicates that the columns are only valid within this scope.
[!INCLUDEssNoVersion] does not support pseudocolumns for identifiers. The SQLSpecialColumns result set will identify all columns as SQL_PC_NOT_PSEUDO.
SQLSpecialColumns can be executed on a static cursor. An attempt to execute SQLSpecialColumns on an updatable (keyset-driven or dynamic) returns SQL_SUCCESS_WITH_INFO indicating the cursor type has been changed.
For information about the values returned for the columns DATA_TYPE, TYPE_NAME, COLUMN_SIZE, BUFFER_LENGTH, and DECIMAL_DIGTS for date/time types, see Catalog Metadata.
For more general information, see Date and Time Improvements (ODBC).
SQLSpecialColumns supports large CLR user-defined types (UDTs). For more information, see Large CLR User-Defined Types (ODBC).