पाने के लिए वहाँ एक एसक्यूएल बयान है कि एक तालिका में किसी स्तंभ के प्रकार लौट सकते है?SQL विवरण स्तंभ प्रकार
उत्तर
का उपयोग एसक्यूएल सर्वर:
SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'yourTableName' AND
COLUMN_NAME = 'yourColumnName'
केवल तभी यदि आप संबंधित कॉलम नाम नहीं देखना चाहते हैं। यह केवल प्रकारों को वापस करेगा। यदि आप कॉलम नाम देखना चाहते हैं तो टाइप से संबंधित है आपको COLUMN_NAME भी चुनना होगा ... – HackyStack
और यदि आपकी तालिका डिफ़ॉल्ट स्कीमा में नहीं है तो आप 'AND TABLE_SCHEMA =' yourSchema ' – luviktor
के साथ स्थिति बढ़ा सकते हैं बहुत अच्छा है - लेकिन क्या यह कॉलम के प्रकार के लिए सीमा को वापस कर सकता है? यानी 'वर्चर' और 'int' के बजाय 'int (11) 'के बजाय' वर्चर (255) '? – mmcrae
TSQL/MSSQL में ऐसा लगता है कि:
SELECT t.name, c.name
FROM sys.tables t
JOIN sys.columns c ON t.object_id = c.object_id
JOIN sys.types y ON y.system_type_id = c.system_type_id
WHERE t.name = ''
आप MySQL उपयोग कर रहे हैं आप
SHOW COLUMNS FROM `tbl_name`;
अन्यथा की कोशिश कर सकते तुम क्या करने में सक्षम होना चाहिए
DESCRIBE `tbl_name`;
USE [YourDatabaseName]
GO
SELECT column_name 'Column Name',
data_type 'Data Type'
FROM information_schema.columns
WHERE table_name = 'YourTableName'
GO
यह वापस आ जाएगी मूल्यों स्तंभ नाम, आप उन स्तंभों के नाम दिखा, और उन स्तंभों की डेटा प्रकार (ints, varchars, आदि)।
TSQL में सबसे आसान तरीका है:
SELECT COLUMN_NAME, DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'yourTableName'
लिए IBM DB2:
SELECT TYPENAME FROM SYSCAT.COLUMNS WHERE TABSCHEMA='your_schema_name' AND TABNAME='your_table_name' AND COLNAME='your_column_name'
आप इस करना होगा:
SELECT
DATA_TYPE
FROM
all_tab_columns
WHERE
table_name = 'TABLE NAME' -- in uppercase
AND column_name = 'COLUMN NAME' -- in uppercase
मेरे मामले में मैं गतिशील एसक्यूएल (कंपकंपी!) के लिए डेटा प्रकार प्राप्त करने के लिए आवश्यक वैसे भी यहां एक समारोह है कि मैं बनाया है कि पूरा डेटा प्रकार रिटर्न है। के बजाय उदाहरण के लौटने के लिए 'दशमलव' यह दशमलव (18,4) वापसी होगी: dbo.GetLiteralDataType
एसक्यूएल सर्वर के लिए, इस प्रणाली संग्रहीत प्रक्रिया सभी तालिका जानकारी वापस आ जाएगी, स्तंभ डेटाटाइप्स सहित:
exec sp_help YOURTABLENAME
मैंने इसे अपरिवर्तित किया है हालांकि यह सही जवाब नहीं है लेकिन मुझे मूल्यवान जानकारी प्रदान करता है। जैसे "IsComputed" जानकारी मुझे सूचना स्कीमा में नहीं मिली लेकिन मैं sp_help प्रक्रिया कोड में पा सकता हूं और वहां से कॉपी कर सकता हूं। – Christoph
दृश्यों पर भी काम करता है, भी ... –
TSQL का उपयोग करना तालिका नाम, स्तंभ नाम, डेटा प्रकार, डेटा प्रकार लंबाई, और स्वीकार्य nulls
SELECT TABLE_NAME,COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'your_table_name'
ओ:/MSSQL
इस क्वेरी आप मिल जाएगा केवल तभी बात यह है कि बदलने की आवश्यकता your_table_name है।
TSQL/MSSQL
का उपयोग करते हुए आप INTO
कीवर्ड का उपयोग कर सकते हैं।
कोई वास्तविक तालिका में SELECT
का परिणाम
उदाहरण: select .... INTO real_table_name
बाद is_nullable स्कीमा, टेबल, कॉलम, प्रकार, MAX_LENGTH प्राप्त करने के लिए इस क्वेरी
sp_help real_table_name
का प्रयोग करें,
SELECT QUOTENAME(SCHEMA_NAME(tb.[schema_id])) AS 'Schema'
,QUOTENAME(OBJECT_NAME(tb.[OBJECT_ID])) AS 'Table'
,C.NAME as 'Column'
,T.name AS 'Type'
,C.max_length
,C.is_nullable
FROM SYS.COLUMNS C INNER JOIN SYS.TABLES tb ON tb.[object_id] = C.[object_id]
INNER JOIN SYS.TYPES T ON C.system_type_id = T.user_type_id
WHERE tb.[is_ms_shipped] = 0
ORDER BY tb.[Name]
एमएस एसक्यूएल का उपयोग कर एक और बदलाव:
SELECT TYPE_NAME(system_type_id)
FROM sys.columns
WHERE name = 'column_name'
AND [object_id] = OBJECT_ID('[dbo].[table_name]');
Spark SQL के लिए:
DESCRIBE [db_name.]table_name column_name
- 1. अद्यतन टी SQL विवरण
- 2. T-SQL उपयोग स्तंभ
- 3. किसी SQL एक्सएमएल स्तंभ
- 4. SQL विवरण में एक तुलना
- 5. GenericJDBCException: अमान्य स्तंभ के प्रकार:
- 6. Oracle SQL - मैं कैसे एक स्तंभ
- 7. एकल क्वेरी में एकाधिक SQL अद्यतन विवरण
- 8. COUNT क्लास में SQL केस विवरण
- 9. नकली एक लंबे चल SQL विवरण
- 10. SQL क्वेरी
- 11. SQL सर्वर विशिष्ट प्रकार OrmLite
- 12. विवरण संसाधन पथ पथ स्थान प्रकार त्रुटियों
- 13. एक स्तंभ
- 14. घोषणा चर एक स्तंभ प्रकार के आधार पर प्रकार
- 15. T-SQL - लौटें सबसे-दाएं गैर शून्य स्तंभ
- 16. कैसे स्तंभ (SQL) में नंबर है कि केवल रिकॉर्ड
- 17. SQL
- 18. SQL सर्वर भूगोल डेटा प्रकार
- 19. स्तंभ
- 20. स्तंभ के लिए पूर्व निर्धारित डिफ़ॉल्ट जोड़े T-SQL
- 21. ओपनQuery परिणाम से SQL कथन पर "अमान्य स्तंभ नाम" त्रुटि
- 22. SQL क्वेरी "कुल" स्तंभ में परिवर्तन को दिखाने के लिए
- 23. SQL विवरण अपडेट केवल एक उपयोगकर्ता के डाटा
- 24. अंतर में शामिल होने और जहां चयन में SQL विवरण
- 25. विवरण
- 26. विवरण
- 27. sql_variant स्तंभ
- 28. SQL
- 29. SQL सर्वर आयात और निर्यात विज़ार्ड में स्रोत प्रकार 200?
- 30. MySQL परिवर्तन कॉलम विवरण
आरडीबीएमएस पर निर्भर करता है; उदाहरण के लिए SQL सर्वर में 'sys.syscolumns' तालिका है। – LittleBobbyTables
हां, लेकिन यह किस प्रकार के आरडीबीएमएस का उपयोग कर रहे हैं, इस पर निर्भर करेगा - एसक्यूएल एक भाषा है, डेटाबेस उत्पाद नहीं, और यह प्रश्न विशिष्ट उत्पाद पर निर्भर करता है। आप इस जानकारी की जानकारी 'INFORMATION_SCHEMA.COLUMNS' तालिका में पा सकेंगे - यदि आपके आरडीबीएमएस में यह है। – Bridge