특정 값을 쿼리하려면 데이터베이스의 특정 테이블의 특정 열에서 "AYX"라고 말하면됩니다. 테이블 및 열의 목록을 기본적으로 " AYX ".. 어떻게해야합니까? 가능합니까? SQL Server 2008을 사용 중입니다특정 열 값 검색
답변
DECLARE @string NVARCHAR(32) = N'AYX';
CREATE TABLE #results
(
[column] NVARCHAR(768),
[value] NVARCHAR(MAX)
);
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += 'SELECT '''
+ QUOTENAME(OBJECT_SCHEMA_NAME([object_id]))
+ '.' + QUOTENAME(OBJECT_NAME([object_id]))
+ '.' + QUOTENAME(name) + ''', ' + QUOTENAME(name) + ' FROM '
+ QUOTENAME(OBJECT_SCHEMA_NAME([object_id]))
+ '.' + QUOTENAME(OBJECT_NAME([object_id]))
+ ' WHERE ' + QUOTENAME(name) + ' LIKE ''%' + @string + '%'';
'
FROM sys.columns
WHERE system_type_id IN (35, 99, 167, 175, 231, 239)
AND OBJECTPROPERTY([object_id], 'IsMsShipped') = 0;
INSERT #results EXEC sp_executesql @sql;
SELECT [column],[value] FROM #results;
DROP TABLE #results;
+1 - 이것은 매우 철저한 대답입니다. 할 수만 있다면 더 많은 것을 upvote 할 것입니다. 나는이 링크를 먼저 방문하도록 op를 추천 할 것이다. http://www.sommarskog.se/dynamic_sql.html – Lamak
나는 이것이 내부 프로세스에 있다고 가정하고 일반 사용자에게 노출되지 않으므로 SQL 주입 등에 대한 일반적 경고가 일시 중단 될 수 있습니다. –
동적/코드 생성 쿼리를 사용해야합니다.
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
에서 데이터베이스의 열 목록을 확인하십시오.
해당 테이블/뷰에 WHERE 절이있는 적절한 데이터 유형으로 제한하십시오.
코드 검색을 수행 할 쿼리를 생성 : SELECT '{TABLE_NAME}' AS TABLE_NAME, '{COLUMN_NAME}' AS COLUMN_NAME, COUNT(*) AS ROW_COUNT FROM {TABLE_NAME} WHERE {COLUMN_NAME} LIKE '%{SEARCH}%'
UNION ALL
가 함께 쿼리 결과
@Aaron 버트 랜드는 아주 좋은 스크립트를했다 (외부 쿼리에 WHERE ROW_COUNT <> 0
추가).
무료 도구가 있다는 것을 지적하고 싶습니다. SSMS Tools Pack
은 모든 테이블/뷰에서 데이터를 검색 할 수 있습니다.
- 1. 자바를 사용하여 CSV 파일의 특정 열 값 검색
- 2. Oracle의 열에서 특정 값 검색
- 3. 키가있는 배열의 특정 값 검색
- 4. Java에서 테이블의 최대 열 값 검색
- 5. 특정 값 메소드에 대한 ResultSet을 검색 하시겠습니까?
- 6. 기존 열 값 업데이트
- 7. PHP는 특정 열
- 8. RadGrid에서 선택한 행의 값 열 값 설정
- 9. 평균 열 값 선택
- 10. Redis에서 값 검색
- 11. Nhibernate : CreateSqlQuery에서 열 이름 검색
- 12. onListItemClick 다중 값/값 검색
- 13. 키를 기반으로 특정 열 값 간의 차이점을 찾는 방법은 무엇입니까?
- 14. 특정 열 값에서 최소 편차로 행 검색/업데이트
- 15. MySQL의 열 값 교환하기
- 16. 행의 열 값 연결
- 17. 카산드라 표시 열 값
- 18. SQL : Exchange 열 값
- 19. MySQL의 열 값 피벗
- 20. SQL : 열 = 여러 값
- 21. 동적 게시물 값 검색
- 22. 열 형식 검색
- 23. Android SQLite 열 검색
- 24. 오라클의 모든 테이블의 모든 열에서 특정 값 검색 11g
- 25. 행렬 열 이름으로 행렬 열 값 추출
- 26. JQgrid : 선택한 행의 특정 값
- 27. wx.ListCtrl의 특정 열 편집
- 28. 그리드보기의 특정 열 업데이트
- 29. 선택한 특정 열 반환
- 30. Inno 설치 - 맞춤 값 검색
더 구체적 수 있습니까? 열 값이 "AYX"인 행을 하나 이상 포함하는 테이블/열을 반환 하시겠습니까? 또는 실제 데이터를 반환 하시겠습니까? 열 이름이 무엇인지, 아니면 문자열이 포함 된 열만 중요합니까? –
@Aaron 맞습니다. 적어도 하나의 행이 포함 된 테이블/열을 반환하고 싶습니다. 열 값이 "AYX"인 곳 – satyajit
내 모든 질문을 보지 못했습니다. 무슨 칼럼? 모든 문자열 열? 특정 열 이름? –