Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर तालिका में कंप्यूटेड कॉलम कैसे जोड़ें - SQL सर्वर / T-SQL ट्यूटोरियल भाग 47

परिदृश्य:

आप एक कानूनी फर्म के लिए SQL सर्वर डेवलपर के रूप में काम कर रहे हैं। आपने नीचे परिभाषा का उपयोग करके एक dbo.Customer तालिका बनाई है

तालिका ग्राहक बनाएं ( CustomerId INT Identity(1, 1), FirstName VARCHAR(50), LastName VARCHAR(50), Age SMALLINT , फोन नंबर चार्ज (9), जन्म तिथि, लिंग चार्ज (1))

आपके पास पूरा नाम होना चाहिए जिसमें प्रथम नाम और अंतिम नाम शामिल होना चाहिए। आप पूर्ण नाम के लिए नया कॉलम जोड़कर डुप्लिकेट डेटा को तालिका में सहेजना नहीं चाहते हैं। आपके पास क्या विकल्प हैं?

आयु के आधार पर, हम नया कॉलम कॉल IsSenior जोड़ना चाहते हैं और यदि 65 से ऊपर है तो इसे 1 चिह्नित करें और 0.

समाधान:

SQL सर्वर हमें कंप्यूटेड कॉलम प्रदान करता है, जो कि वर्चुअल कॉलम है और यह डेटा को तब तक स्टोर नहीं करता जब तक कि इसे पर्सिस्टेड के रूप में चिह्नित नहीं किया जाता है। इसका मतलब है कि हम गणना कॉलम (पूरा नाम) बना सकते हैं जो प्रथम नाम और अंतिम नाम डेटा का उपयोग करेगा। कंप्यूटेड कॉलम बनाकर हमें पूरे नाम कॉलम के लिए डुप्लीकेट डेटा सेव करने की जरूरत नहीं है।
CREATE TABLE Customer (CustomerId INT Identity(1, 1), FirstName VARCHAR(50), LastName VARCHAR(50), Age SMALLINT, PhoneNumber CHAR(9), DOB DATE, Gender CHAR(1), FullName as FirstName + ' ' + LastName , IsSenior as Case जब उम्र> 65 तब 1 ELSE 0 END )
 हमने पूरे नाम के लिए प्रथम नाम और अंतिम नाम को जोड़ दिया और इससीनियर कंप्यूटर कॉलम के लिए केस स्टेटमेंट लिखा। आइए आगे बढ़ें और कुछ रिकॉर्ड डालें।

 dbo में डालें। Customer(FirstName, LastName, Age) Values('Aamir','Shahzad',66), ('Raza', 'एम',44)

ध्यान दिया कि मैंने FullName और IsSenior Columns के लिए कुछ भी नहीं डाला है। इन स्तंभों के मानों की गणना तब की जाएगी जब हम डेटा का चयन करेंगे।

एसक्यूएल सर्वर टेबल में कंप्यूटेड कॉलम कैसे जोड़ें - टी-एसक्यूएल ट्यूटोरियल

अगर आपको बाहर निकलने वाली तालिका में परिकलित कॉलम जोड़ना होगा, आप नीचे दिए गए सिंटैक्स का उपयोग कर सकते हैं

टेबल स्कीमानाम बदलें।टेबलनाम
कॉलमनाम AS लॉजिक जोड़ें(जैसे FistName +''+LastName)

अगर हम चाहते हैं तो मान लें ग्राहक तालिका में पूरा नाम कंप्यूटर कॉलम जोड़ें, हम नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं।
 
एसक्यूएल सर्वर टेबल से कंप्यूटेड कॉलम ड्रॉप करें:
गणना या सामान्य कॉलम को छोड़ने का सिंटैक्स समान है।

टेबल स्कीमानाम बदलें।टेबलनाम
कॉलम कॉलमनाम छोड़ें

मान लें कि हम ड्रॉप करना चाहते हैं dbo.Customer Table से FullName परिकलित कॉलम। हम नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं।

तालिका dbo बदलें।ग्राहक ड्रॉप कॉलम FullName


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर डेटाबेस बैकअप निचले संस्करण पर पुनर्स्थापित करें

  2. SQL सर्वर (T-SQL) में डेटाबेस मेल खातों और डेटाबेस प्रिंसिपल के बीच संबंध खोजें

  3. SQL सर्वर 2019 में tempdb एन्हांसमेंट

  4. पंक्ति दर पंक्ति के बजाय एक बार में संपूर्ण डेटाटेबल को डेटाबेस में सम्मिलित करें?

  5. क्वेरी का उपयोग करके SQL सर्वर में तालिका कैसे बनाएं