2012-06-07 18 views
13

मेरे पास एक तालिका (.) के अपवाद के साथ कई अन्य varchar स्तंभों वाली तालिका है जो मेरे पास दूसरी कुंजी में प्राथमिक कुंजी के समान हैं। मैंने टी-एसक्यूएल में replace फ़ंक्शन को देखा है लेकिन पहला तर्क अभिव्यक्ति नहीं है। मैं SQL के साथ किसी विशेष वर्ण की सभी घटनाओं को कैसे हटा सकता हूं? ऐसा लगता है कि सही उत्तर शून्य लंबाई स्ट्रिंग के साथ प्रतिस्थापित किया जा सकता है। क्या वह करीब है?वर्चर्स फ़ील्ड से एक वर्ण को निकालें SQL Server 2008

किसी को भी यह महसूस करने के लिए कि प्रश्न शोध प्रयास प्रदर्शित नहीं करता है, यह मुख्य रूप से प्रलेखन की गलतफहमी के कारण था।

+5

क्या प्रलेखन आप देख रहे हैं? [REPLACE] के लिए पहला पैरामीटर (http://msdn.microsoft.com/en-us/library/ms186862.aspx) एक स्ट्रिंग अभिव्यक्ति है। – Oded

+0

http://msdn.microsoft.com/en-us/library/ms186862.aspx – Gerrat

+0

पर 'बदलें' fn देखें, मैंने msdn प्रलेखन स्ट्रिंग_एक्सप्रेस को लिया है जिसका अर्थ है कि इसे एक स्ट्रिंग अक्षर होना था, मुख्य रूप से क्योंकि प्रदान किए गए उदाहरण ' एक कॉलम का उपयोग नहीं करते हैं। धन्यवाद। – wootscootinboogie

उत्तर

38

आप तालिका सीधे स्तंभ मान पर REPLACE का उपयोग कर अद्यतन कर सकते हैं:

UPDATE myTable 
SET myColumn = REPLACE(myColumn, '.', '') 
4

क्या आप सभी उदाहरणों को हटाना चाहते हैं। स्ट्रिंग से? यदि हां, तो आप सही के बारे में REPLACE थे:

DECLARE @Example TABLE 
(
    Value VARCHAR(100) 
) 
INSERT @Example (Value) 
VALUES ('Test.Value'), ('An.otherT.est') 

SELECT 
    REPLACE(Value, '.', '') 
FROM 
    @Example 

-- Replace only the first '.' 
SELECT 
    STUFF(Value, CHARINDEX('.', Value, 0), 1, '') 
FROM 
    @Example 

संपादित करें, उदाहरण के एक छोटे से अधिक उपयोगी के बाद से मैं वैसे भी इसके साथ चारों ओर खेला, जिससे मैं भी उदाहरण पोस्ट कर सकता है। :)

6
update your_table 
set some_column = replace(some_column, '.', '') 
संबंधित मुद्दे