SQL-сервер: получите значение по умолчанию столбца

Я выполняю выбор для получения структуры таблицы. Я хочу получить информацию о столбцах как ее имя или если это является пустым или если это - первичный ключ.. Я делаю что-то вроде этого

....sys.columns c...
c.precision,
c.scale,
c.is_nullable as isnullable,
c.default_object_id as columndefault,
c.is_computed as iscomputed,

но для значения по умолчанию я получаю идентификатор.. что-то как 454545454, но я хочу получить значение "xxxx". Что является таблицей для поиска или что является функцией для преобразования того идентификатора в значение.Спасибо

8
задан luke 7 April 2010 в 08:56
поделиться

4 ответа

Вы можете сделать следующее (сделал SELECT * только для того, чтобы вы могли увидеть всю доступную информацию):

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE....

Это включает столбец "COLUMN_DEFAULT" в наборе результатов.

10
ответ дан 5 December 2019 в 08:51
поделиться

Свойство, которое вам нужно, называется "cdefault".

http://sql-server-performance.com/Community/forums/p/20588/114944.aspx

1
ответ дан 5 December 2019 в 08:51
поделиться

Используйте

Select * From INFORMATION_SCHEMA.COLUMNS

, там есть столбец с именем COLUMN_DEFAULT

7
ответ дан 5 December 2019 в 08:51
поделиться

«счета» - это пример таблицы

select 
COLUMN_DEFAULT            --default
,IS_NULLABLE              -- is nullable
,NUMERIC_PRECISION        --number of digits (binary or decimal depending on radix)
,NUMERIC_PRECISION_RADIX  --decimal places
,NUMERIC_SCALE            --number of digits to right of decimal point
,COLUMNPROPERTY(OBJECT_ID('bills'),COLUMN_NAME,'Iscomputed') AS ISCOMPUTED --is computed
 from INFORMATION_SCHEMA.columns where TABLE_name='bills'

 select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where TABLE_NAME='bills' and CONSTRAINT_TYPE='PRIMARY KEY'
1
ответ дан 5 December 2019 в 08:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: