You could just use a case
with a select
SELECT CASE WHEN 'A' = 'a' THEN 'Insensitive' ELSE 'Sensitive' END
The above is VERY general for the database session as a whole. To be more specific, you have to get more into the database configurations for each DBMS.
The following checks specific for Oracle's configuration of case sensitivity:
SELECT CASE WHEN COUNT(*) = 2 THEN 'Insensitive' ELSE 'Sensitive' END
FROM NLS_SESSION_PARAMETERS
WHERE (PARAMETER = 'NLS_COMP' AND VALUE = 'LINGUISTIC')
OR (PARAMETER = 'NLS_SORT' AND VALUE = 'BINARY_CI')
The following checks for specific SQL Server collations at various levels:
-- Server level
SELECT CASE WHEN SERVERPROPERTY('COLLATION') LIKE '%_CI_%' THEN 'Insensitive' ELSE 'Sensitive' END
-- Database level
SELECT CASE WHEN DATABASEPROPERTYEX('AdventureWorks', 'Collation') LIKE '%_CI_%' THEN 'Insensitive' ELSE 'Sensitive' END
-- Column level
SELECT CASE WHEN COLLATION_NAME LIKE '%_CI_%' THEN 'Insensitive' ELSE 'Sensitive' END
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @table_name
AND COLUMN_NAME = @column_name
This is not exhaustive for checking case insentive collations, but based on SELECT name, description FROM ::fn_helpcollations()
, it seems pretty good.
Reference for SQL Server collations (as noted from comment on the OP)