PDA

Показать полную графическую версию : Поиск пустого поля в таблице


rivera
04-07-2011, 17:02
Всем привет.

Если задача, найти пустое поле в таблице
условие len(COLUMN) = 0

Причем, поле может быть пустым в любой строке, в любой колонке.

Долго думал, не могу решить вопрос изящно, без перебора все колонок.
Кто подскажет, есть ли такой вариант?

Delirium
05-07-2011, 01:16
А как иначе? Перебор столбцов будет так или иначе, различаться будет только реализация - можно руками прописать все столбцы, можно сделать двойной цикл(таблицы и столбцы) на основе данных из системных таблиц, который будет пробегать по всем данным и искать пустое поле.

Посмотри здесь:
Select Column Information using SQL Server - http://www.geekzilla.co.uk/ViewF3E9658C-7B7A-472C-BE4A-5C25CD26C0E8.htm

Код ниже покажет все поля из всех таблиц в БД:

SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
--WHERE c.name LIKE '%EmployeeID%'
ORDER BY schema_name, table_name;
Источник - http://blog.sqlauthority.com/2008/08/06/sql-server-query-to-find-column-from-all-tables-of-database/

Еще вариант - http://databases.aspfaq.com/schema-tutorials/schema-how-do-i-show-the-columns-for-a-table.html
И еще - http://weblogs.asp.net/wallen/archive/2005/02/18/376150.aspx
Получение информации о всех столбцах таблицы: http://weblogs.sqlteam.com/joew/archive/2008/04/27/60574.aspx

rivera
05-07-2011, 11:04
ну это все ясно, просто думал есть некая функция предопределенаня, придется самому писать
спасибо




© OSzone.net 2001-2012