說我有一個表「的TableX」在數據庫DB1,與DIFF第COLUMN1,列2,...等columnx這些列中的一個具有例如帶有感嘆號的數據說,「榴蓮!特克斯」如何查找數據庫中表中的哪一列有'!'感嘆號。
什麼是找到其表,其中分貝具有包含一個值的列的查詢「%!%」
這是搜索整個數據庫,給出數據庫名,表名,字段名。希望我的問題很明確。
說我有一個表「的TableX」在數據庫DB1,與DIFF第COLUMN1,列2,...等columnx這些列中的一個具有例如帶有感嘆號的數據說,「榴蓮!特克斯」如何查找數據庫中表中的哪一列有'!'感嘆號。
什麼是找到其表,其中分貝具有包含一個值的列的查詢「%!%」
這是搜索整個數據庫,給出數據庫名,表名,字段名。希望我的問題很明確。
整個數據庫導出到.sql
文件,並使用CNTRL + F
而且replace/remove
任何你想要
和import it
到新數據庫中找到它
無法導出數據庫......它是一個龐大的數據庫......我們該怎麼做? – Srupts
@你是否在使用任何用戶界面? –
我發現一個商店當我在尋找相同的東西時,從互聯網上的程序。您可以使用以下SP在表格中的所有列中查找文本/字符。
首先運行SP,然後使用EXEC執行sp並搜索參數值中的字符。
--EXEC SearchAllTables '!'
CREATE PROC SearchAllTables
(
@SearchStr nvarchar(100)
)
AS
BEGIN
CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))
SET NOCOUNT ON
DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
SET @TableName = ''
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')
WHILE @TableName IS NOT NULL
BEGIN
SET @ColumnName = ''
SET @TableName =
(
SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
AND OBJECTPROPERTY(
OBJECT_ID(
QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
), 'IsMSShipped'
) = 0
)
WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
BEGIN
SET @ColumnName =
(
SELECT MIN(QUOTENAME(COLUMN_NAME))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
AND TABLE_NAME = PARSENAME(@TableName, 1)
AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
AND QUOTENAME(COLUMN_NAME) > @ColumnName
)
IF @ColumnName IS NOT NULL
BEGIN
INSERT INTO #Results
EXEC
(
'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630)
FROM ' + @TableName + ' (NOLOCK) ' +
' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
)
END
END
END
SELECT ColumnName, ColumnValue FROM #Results
END
希望這會幫助你。
將整個數據庫導出到.sql文件,並通過使用cntrl + F找到它:) –
這是一個跡象表明,如果您的數據模型包含相同「類型」數據的多個*列,編寫想要將所有這些列視爲相同的查詢是有意義的 - 這表明它們實際上應該是*單個列 - 並且該列旁邊應該包含其他列包含* data *它以某種方式最終變成嵌入在列或表名中。 –
如果不是特殊字符......要知道哪個單元格的值爲'abc',我們也找不到? – Srupts