2009-08-12 37 views

Trả lời

46

tôi sẽ truy vấn information_schema - này có tầm nhìn được nhiều hơn nữa có thể đọc hơn các bảng bên dưới.

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME LIKE '%create%' 
+0

Nó đã hoạt động! Phiên bản tốt hơn. – pencilslate

5
select object_name(c.object_id) as table_name 
    , schema_name(t.schema_id) as schema_name 
    from sys.columns c 
    join sys.tables t on c.object_id = t.object_id 
    where c.name=N'CreatedDate'; 

Nó được một chút phức tạp hơn nếu bạn muốn alsoother tính bảng, nhưng bạn sẽ tham khảo các khung nhìn danh mục đối tượng như sys.tables, sys.columns, vv

+0

tôi gặp lỗi 'Tên cột không hợp lệ' schema_id ' – pencilslate

+1

T làm việc của anh ấy! chọn object_name (sc.object_id) làm tên_bảng , schema_name (st.schema_id) dưới dạng schema_name từ sys.columns sc, sys.tables st nơi sc.name = N'CreatedDate '; – pencilslate

+0

wrigth, tôi đã viết truy vấn từ bộ nhớ, quên sys.columns không lưu trữ lược đồ. –

0

Cùng một điều nhưng trong ANSI cách

CHỌN * TỪ INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME IN ( CHỌN TABLE_NAME TỪ information_schema ĐÂU COLUMN_NAME mới = 'Tạo ngày' )

2

ưa thích của tôi ...

SELECT objParent.name AS parent, obj.name, col.* 
FROM sysobjects obj 
    LEFT JOIN syscolumns col 
     ON obj.id = col.id 
    LEFT JOIN sysobjects objParent 
     ON objParent.id = obj.parent_obj 
WHERE col.name LIKE '%Comment%' 
    OR obj.name LIKE '%Comment%' 

Trên tôi đang tìm kiếm "Comment".

Thả dấu phần trăm nếu bạn muốn kết hợp trực tiếp.

này tìm kiếm bàn, lĩnh vực và những thứ như tên tiểu học trọng điểm, hạn chế, quan điểm vv

Và khi bạn muốn tìm kiếm trong StoredProcs sau monkeying với các bảng (và cần phải thực hiện những trận đấu procs), sử dụng sau đây ...

SELECT name 
FROM sys.procedures 
WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%Comment%' 

Hy vọng điều đó sẽ giúp tôi tìm thấy hai truy vấn này cực kỳ hữu ích.

0

Bạn không cần phải gõ SQL Query cho điều này trong SQL Server 2008.

Trong SSMS Object Explorer, hãy chọn cơ sở dữ liệu hoặc bảng của cơ sở dữ liệu cần thiết (nếu bạn cần phải tìm kiếm trong một cơ sở dữ liệu), menu mở View- -> Object Explorer Details (cách nhấn F7), gõ% CreatedDate% trong hộp văn bản Tìm kiếm, ENTER, hãy tận hưởng

+0

đáng kể điều này đã không hoạt động; nó tìm thấy mọi loại đối tượng khác mà SSMS hiển thị trong trình duyệt của nó –

6

Bạn cũng có thể thử thực hiện việc này bằng một trong nhiều công cụ của bên thứ ba khả dụng cho việc này.

Truy vấn rất tuyệt vời cho các tìm kiếm đơn giản nhưng nếu bạn cần thao tác nhiều hơn với dữ liệu, hãy tìm kiếm các tham chiếu và đây là nơi bạn có thể làm tốt hơn.

Ngoài ra, các đến trong rất tiện dụng khi một số đối tượng được mã hóa và bạn cần phải tìm kiếm

Tôi đang sử dụng ApexSQL Search đó là miễn phí nhưng cũng có nhiều hơn nữa (cũng miễn phí) trên thị trường như Hồng Cổng hoặc SSMS Tool Pack.

1

Sử dụng truy vấn này:

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 '%' + '<ColumnName>' + '%') 
    AND 
    (t.type = 'U') -- Use This To Prevent Selecting System Tables 
1

Đối với tôi, tôi chỉ có đọc truy cập để chạy querys vì vậy tôi cần phải sử dụng chức năng này thường đây là những gì tôi sử dụng:

SELECT * 
FROM INFORMATION_SCHEMA.TABLES 
where TABLES.TABLE_NAME like '%your table name here%' 

Bạn có thể thay thế. BẢNG BIỂU với .COLUMNS thì nó sẽ trông giống như sau:

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE columns.COLUMN_NAME like '%your column name here%' 
Các vấn đề liên quan