Я сказал бы, что "находка" фокусируется на получении единственного, точного совпадения. Как в примере выше, Вы "находите" идеальное задание PHP.
OTOH, Вы "ищете" задания, которые соответствуют Вашим критериям. Поиск - то, что Вы делаете, когда Вы хотите пастись через несколько результатов. "Поиск" возвращает страницы результатов. "Находка" ближе к, "я чувствую себя удачливым".
, Конечно, условия привыкают попеременно иногда. Но, я думаю, что это - сущность различия.
Вы можете использовать CHECKSUM_AGG . Требуется только один аргумент, поэтому вы можете выполнить CHECKSUM_AGG (CHECKSUM (*))
- но это не работает для вашего типа данных XML, поэтому вам придется прибегнуть к динамическому SQL.
Вы можете динамически сгенерировать список столбцов из INFORMATION_SCHEMA.COLUMNS
, а затем вставить int в шаблон:
SELECT @column_list = COALESCE(@column_list + ', ', '')
+ /* Put your casting here from XML, text, etc columns */ QUOTENAME(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @table_name
AND TABLE_SCHEMA = @schema_name
DECLARE @template AS varchar(MAX)
SET @template = 'SELECT CHECKSUM_AGG(CHECKSUM({@column_list})) FROM {@schema_name}.{@table_name}'
DECLARE @sql AS varchar(MAX)
SET @sql = REPLACE(REPLACE(REPLACE(@template
'{@column_list}', @column_list),
'{@schema_name}', @schema_name),
'{@table_name}', @table_name)
EXEC ( @sql )