snippetsqlMinor
How to decrypt the name of columns from view?
Viewed 0 times
thecolumnsviewdecryptnamehowfrom
Problem
I had to deal with a third-party database, I am trying to get all columns used in a view but I got them encrypted
e.g: instead of getting
Is there any way to decrypt them?
e.g: instead of getting
int for NUMERO_SALARIE I got TNumSal why?DECLARE @TableViewName NVARCHAR(128)
SET @TableViewName=N'DP_SALARIE'
SELECT b.name AS ColumnName, c.name AS DataType, b.max_length AS Length
FROM sys.all_objects a
INNER JOIN sys.all_columns b
ON a.object_id=b.object_id
INNER JOIN sys.types c
ON b.user_type_id=c.user_type_id
WHERE a.Name=@TableViewName
AND a.type IN ('U','V')Is there any way to decrypt them?
Solution
Looks like a user defined data type to me.
By looking into
So your code should look like this
By looking into
sys.types and joining the columns system_type_id and further defining that system_type_id should be equal to user_type_id the query should give you the unterlying system type name.So your code should look like this
DECLARE @TableViewName NVARCHAR(128)
SET @TableViewName=N'DP_SALARIE'
SELECT b.name AS ColumnName, c.name AS DataType, b.max_length AS Length
FROM sys.all_objects a
INNER JOIN sys.all_columns b
ON a.object_id=b.object_id
INNER JOIN sys.types c
ON b.system_type_id=c.system_type_id
WHERE a.Name=@TableViewName
AND a.type IN ('U','V')
AND c.system_type_id = c.user_type_id
Context
StackExchange Database Administrators Q#313596, answer score: 7
Revisions (0)
No revisions yet.