SQL DB内の特定の文字列を検索したい。私は、DBから検索する知っているが、私は、検索文字列がどのテーブルかわからない。特定の文字列についてSQL Server DBを検索するにはどうすればよいですか?
-3
A
答えて
-1
下記のコードが役立つかどうかを確認してください。このコードはこのsiteにあります。私は試してみませんでしたが、私は試してみて、私が働いていると知っていました。
DECLARE @SQL VARCHAR(8000)
DECLARE @filtro VARCHAR(200)
DECLARE @filtro_www VARCHAR(200)
-- start sql declaration
SET @SQL = ''
SET @filtro = '%text_searched%'
SELECT
tabelas.name AS Tabela
,colunas.name AS Coluna
,tipos.name AS Tipo
,colunas.length AS Tamanho
INTO
#result
FROM
sysobjects tabelas
INNER JOIN syscolumns colunas
ON colunas.id = tabelas.id
--
INNER JOIN systypes tipos
ON tipos.xtype = colunas.xtype
WHERE
tabelas.xtype = 'u'
AND
-- put here the type of column that will be search
tipos.name IN('text', 'ntext', 'varchar', 'nvarchar')
-- cursor to search into table
DECLARE cTabelas cursor LOCAL fast_forward FOR
SELECT DISTINCT Tabela FROM #result
DECLARE @nomeTabela VARCHAR(255)
OPEN cTabelas
fetch NEXT FROM cTabelas INTO @nomeTabela
while @@fetch_status = 0
BEGIN
-- cursor to search for all columns in the current table
DECLARE cColunas cursor LOCAL fast_forward FOR
SELECT Coluna, Tipo, Tamanho FROM #result WHERE Tabela = @nomeTabela
DECLARE @nomeColuna VARCHAR(255)
DECLARE @tipoColuna VARCHAR(255)
DECLARE @tamanhoColuna VARCHAR(255)
OPEN cColunas
-- mount the columns from select statement
fetch NEXT FROM cColunas INTO @nomeColuna, @tipoColuna, @tamanhoColuna
while @@fetch_status = 0
BEGIN
-- declare variable
SET @SQL = 'declare @hasresults bit' + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10)
-- cria o select
SET @SQL = @SQL + 'select' + CHAR(13) + CHAR(10)
SET @SQL = @SQL + CHAR(9) + '''' + @nomeTabela + ''' AS NomeTabela'
SET @SQL = @SQL + CHAR(9) + ',' + @nomeColuna + CHAR(13) + CHAR(10)
-- add a column with type and size
SET @SQL = @SQL + CHAR(9) + ',' + '''' + @tipoColuna + ''' AS ''' + @nomeColuna + '_Tipo''' + CHAR(13) + CHAR(10)
SET @SQL = @SQL + CHAR(9) + ',' + 'DATALENGTH(' + @nomeColuna + ') AS ''' + @nomeColuna + '_Tamanho_Ocupado''' + CHAR(13) + CHAR(10)
SET @SQL = @SQL + CHAR(9) + ',' + '''' + @tamanhoColuna + ''' AS ''' + @nomeColuna + '_Tamanho_Maximo''' + CHAR(13) + CHAR(10)
-- define temporary table(#result)
SET @SQL = @SQL + 'into' + CHAR(13) + CHAR(10) + CHAR(9) + '#result_' + @nomeTabela + CHAR(13) + CHAR(10)
-- add the from statement
SET @SQL = @SQL + 'from' + CHAR(13) + CHAR(10) + CHAR(9) + @nomeTabela + CHAR(13) + CHAR(10)
-- start assembly of the clause where
SET @SQL = @SQL + 'where' + CHAR(13) + CHAR(10)
SET @SQL = @SQL + CHAR(9) + @nomeColuna + ' like ''' + @filtro + '''' + CHAR(13) + CHAR(10)
SET @SQL = @SQL + CHAR(13) + CHAR(10) + 'select @hasresults = count(*) from #result_' + @nomeTabela + CHAR(13) + CHAR(10)
SET @SQL = @SQL + CHAR(13) + CHAR(10) + 'if @hasresults > 0'
SET @SQL = @SQL + CHAR(13) + CHAR(10) + 'begin'
SET @SQL = @SQL + CHAR(13) + CHAR(10) + CHAR(9) + 'select * from #result_' + @nomeTabela
SET @SQL = @SQL + CHAR(13) + CHAR(10) + 'end' + CHAR(13) + CHAR(10)
SET @SQL = @SQL + CHAR(13) + CHAR(10) + 'drop table #result_' + @nomeTabela
SET @SQL = @SQL + CHAR(13) + CHAR(10)
fetch NEXT FROM cColunas INTO @nomeColuna, @tipoColuna, @tamanhoColuna
-- uncomment the line below to see Sql generated into window messages
-- print @sql
EXEC(@SQL)
SET @SQL = ''
END
close cColunas
deallocate cColunas
fetch NEXT FROM cTabelas INTO @nomeTabela
END
close cTabelas
deallocate cTabelas
DROP TABLE #result
ポルトガル語ではいくつかの名前がありますが、名前のみで置き換えられます。名前だけです。
-1
SELECT *
FROM ‘dbName’
WHERE name LIKE '%String%'
あなたは、いくつかのSQLステートメントを知っていない場合は、これを試してくださいミリ秒のアクセスに行くと取得することができますそこから非常によく似ているSQLステートメント
0
あなたはそれが私のために使用されている問題を解決するために使用されているオブジェクトを見つけるために働くことができます。
DECLARE @TOSEARCH NVARCHAR(50)=
SELECT m.name, modify_date FROM ( SELECT DISTINCT so.name FROM syscomments sc INNER JOIN sysobjects so ON sc.id=so.id WHERE sc.TEXT LIKE '%'[email protected]+'%' ) m LEFT JOIN sys.objects ON sys.objects.name = m.name ORDER BY modify_date DESC
関連する問題
- 1. 特定の値で始まる文字列を検索するにはどうすればよいですか?
- 2. dataGridViewで特定の文字列を検索するにはどうすればよいですか?
- 3. lldbのプロセスメモリ内の特定の文字列を検索するにはどうすればよいですか?
- 4. DBに格納された文字列よりも長い文字列を検索する方法 - SQL Server、PHP
- 5. SQL Server - 文字列の途中に特定の文字を1つ以上追加するにはどうすればよいですか?
- 6. 美しいスープのpythonで1文字ごとに異なる特定の文字列を検索するにはどうすればよいですか?
- 7. 列内の特定の文字列を検索して特定の単語を出力するにはどうすればよいですか?
- 8. Java - 文字列のアルファベット以外の文字を検索するにはどうすればよいですか?
- 9. Rでは、特定の文字列に含まれる文字ベクトル要素を検索するにはどうすればよいですか?
- 10. 検索結果に続いて文字列をラップするにはどうすればよいですか?
- 11. 文字列内の特定の文字列を削除するにはどうすればよいですか?
- 12. 文字列の繰り返し文字を検索するにはどうすればよいですか?
- 13. 文字列属性のIDを検索するにはどうすればいいですか(SQL)
- 14. アラビア文字を含む文字列を検索するにはどうすればよいですか?
- 15. MongoDBデータベースの名前に特定の文字列を持つすべてのコレクションを検索するにはどうすればよいですか?
- 16. LuceneでDBを検索するにはどうすればよいですか?
- 17. C++の文字列から特定のパターンに囲まれた数字を検索および修正するにはどうすればよいですか?
- 18. 特定の文字の後に文字列を切り取るにはどうすればよいですか?
- 19. 特定の文字列フィルタをプロセスメモリで検索するにはどうすればいいですか(私はすでにメモリクラスを持っています)
- 20. XLSの特定の列をMS SQL Serverテーブルに挿入するにはどうすればよいですか?
- 21. SQL Serverで特殊文字をサポートするにはどうすればよいですか?
- 22. linqdatasourceのwhere節でconcatinated文字列を検索するにはどうすればよいですか?
- 23. 特定のテーブルから特定の行を検索するにはどうすればよいですか?
- 24. Microsoft SQLで特定の列名を持つ主キーを持つテーブルを検索するにはどうすればよいですか?マイクロソフトSQLで
- 25. 文字列に特定の文字が含まれているかどうかを確認するにはどうすればよいですか?
- 26. 動的に追加された文字列を検索するにはどうすればよいですか?
- 27. Sql Server XQueryで大文字小文字を区別しない単語を検索するにはどうすればよいですか?
- 28. 良いSQL検索を行うにはどうすればよいですか?
- 29. Rのテキスト内の特定の文章を検索するにはどうすればよいですか?
- 30. grepを使って複数の文字列を検索するにはどうすればいいですか
'をGETするには、' これに対する答えを参照してください:https://stackoverflow.com/questions/23481973/selecting-column-names-that-を指定値あり/ 23482530#23482530 – pmbAustin
[指定された値を持つ列名を選択する](https://stackoverflow.com/questions/23481973/selecting-column-names-that-have-specified-value) – DeanOC
の可能な複製可能な複製:https://stackoverflow.com/questions/9185871/how-to-search-sql-server-database-for-string –