SQL सर्वर डेटाबेस में सभी तालिकाओं में एक निश्चित प्रकार के सभी कॉलम खोजें


84

NTEXTSQL सर्वर डेटाबेस में सभी तालिकाओं में एक निश्चित प्रकार (उदाहरण के लिए ) के सभी कॉलम कैसे मिल सकते हैं ?

मैं एक SQL क्वेरी के लिए देख रहा हूँ।

जवाबों:


120

फ़ील्ड को वापस करने के लिए आप निम्न क्वेरी का उपयोग कर सकते हैं

SELECT table_name [Table Name], column_name [Column Name]
FROM information_schema.columns where data_type = 'NTEXT'

3
इसमें दृश्य भी शामिल होंगे
डैनियल

1
यह एज़्योर एसक्यूएल (अगस्त 2018) पर भी काम करेगा और मैंने इसका उपयोग स्तंभों को नवरच (अधिकतम) में बदलने के लिए किया था क्योंकि NText को पदावनत किया जाएगा। alter table [tablename] alter column [columnname] nvarchar(max)। आप LEN(..)nvarchar के साथ आदि का उपयोग कर सकते हैं और ntext नहीं।
जेपी हेल्लेमन्स

@ डैनियल यदि आप विचार शामिल नहीं करना चाहते हैं, तो इनर_इनहैमा.इन पर सूचनाओं को शामिल करें, जैसे:INNER JOIN INFORMATION_SCHEMA.TABLES t ON c.TABLE_NAME = t.TABLE_NAME AND t.TABLE_TYPE = 'BASE TABLE'
माइक पी।

14

आपको INFORMATION_SCHEMA की आवश्यकता होगी। कुछ इस तरह का प्रयास करें:

SELECT c.* from INFORMATION_SCHEMA.columns c
INNER JOIN INFORMATION_SCHEMA.tables t ON t.table_name = c.table_name
WHERE c.data_type = 'int' AND t.table_type = 'base table'

7

इसके अलावा आप कोशिश कर सकते हैं

SELECT OBJECT_NAME(c.OBJECT_ID) TableName, c.name ColumnName
FROM sys.columns AS c
JOIN sys.types AS t ON c.user_type_id=t.user_type_id
WHERE t.name = 'ntext'
ORDER BY c.OBJECT_ID;
GO

2

आप सिस्टम दृश्य का उपयोग कर सकते हैं INFORMATION_SCHEMA.COLUMNSdata_typeस्तंभ के लिए आप क्या देख रहे हैं नहीं है।


2

मैंने सभी टेबल को खोजने के लिए निम्नलिखित स्टेटमेंट का उपयोग किया था जो संभवतः बाइनरी-डेटा / फाइलें पकड़ सकता था।

SELECT 
    table_name 
FROM 
    INFORMATION_SCHEMA.TABLES T 
WHERE 
    T.TABLE_CATALOG = 'MyDatabase' AND 
    EXISTS ( 
        SELECT * 
        FROM INFORMATION_SCHEMA.COLUMNS C 
        WHERE 
            C.TABLE_CATALOG = T.TABLE_CATALOG AND 
            C.TABLE_SCHEMA = T.TABLE_SCHEMA AND 
            C.TABLE_NAME = T.TABLE_NAME AND 
            ( C.DATA_TYPE  = 'binary' OR
             C.DATA_TYPE  = 'varbinary' OR 
            C.DATA_TYPE  = 'text' OR
            C.DATA_TYPE  = 'ntext' OR
            C.DATA_TYPE  = 'image' )
            )
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.