SQL स्तंभ स्तंभ में सभी डेटा बनाने के लिए क्वेरी क्वेरी?


83

मुझे एक कॉलम UPPER CASE में सभी डेटा बनाने के लिए SQL क्वेरी की आवश्यकता है?

कोई विचार?

जवाबों:


193

स्थायी:

UPDATE
  MyTable
SET
  MyColumn = UPPER(MyColumn)

अस्थायी:

SELECT
  UPPER(MyColumn) AS MyColumn
FROM
  MyTable

16

यदि आप केवल उन पंक्तियों पर अपडेट करना चाहते हैं जो वर्तमान में अपरकेस नहीं हैं (सभी पंक्तियों के बजाय), तो आपको COLLATEनिम्न अंतर को पहचानना होगा:

UPDATE MyTable
SET    MyColumn = UPPER(MyColumn)
WHERE  MyColumn != UPPER(MyColumn) COLLATE Latin1_General_CS_AS 

Collation के बारे में एक बिट

मामले की संवेदनशीलता आपकी कोलाज सेटिंग्स पर आधारित है, और आमतौर पर डिफ़ॉल्ट रूप से असंवेदनशील है।

सर्वर, डेटाबेस, कॉलम, या क्वेरी स्तर पर Collation सेट किया जा सकता है :

-- Server
SELECT SERVERPROPERTY('COLLATION')
-- Database
SELECT name, collation_name FROM sys.databases
-- Column 
SELECT COLUMN_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE CHARACTER_SET_NAME IS NOT NULL

कोलाज़ नाम निर्दिष्ट करते हैं कि एक स्ट्रिंग को कैसे एन्कोड किया जाना चाहिए और उदाहरण के लिए पढ़ा जाना चाहिए:

  • Latin1_General_CI_AS → केस असंवेदनशील
  • Latin1_General_CS_AS → केस सेंसिटिव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.