ASCII(RIGHT(ProductAlternateKey, 1))
. का उपयोग करना आप देख सकते हैं कि पंक्ति 2 में सबसे सही वर्ण एक लाइन फ़ीड या असीसी वर्ण 10 है।
यह नहीं मानक LTrim
. का उपयोग करके हटाया जा सकता है RTrim
कार्य।
हालांकि आप उपयोग कर सकते हैं (REPLACE(ProductAlternateKey, CHAR(10), '')
आप कैरिज रिटर्न और टैब का भी हिसाब रखना चाह सकते हैं। ये तीन (लाइन फीड, कैरिज रिटर्न और टैब) सामान्य अपराधी हैं और इन्हें निम्नलिखित के साथ हटाया जा सकता है:
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(ProductAlternateKey, CHAR(10), ''), CHAR(13), ''), CHAR(9), '')))
यदि आपको कोई और "श्वेत स्थान" वर्ण मिलता है जिसे उपरोक्त के साथ हटाया नहीं जा सकता है, तो नीचे दिए गए एक या सभी को आज़माएं:
--NULL
Replace([YourString],CHAR(0),'');
--Horizontal Tab
Replace([YourString],CHAR(9),'');
--Line Feed
Replace([YourString],CHAR(10),'');
--Vertical Tab
Replace([YourString],CHAR(11),'');
--Form Feed
Replace([YourString],CHAR(12),'');
--Carriage Return
Replace([YourString],CHAR(13),'');
--Column Break
Replace([YourString],CHAR(14),'');
--Non-breaking space
Replace([YourString],CHAR(160),'');
संभावित श्वेत स्थान वर्णों की इस सूची का उपयोग एक फ़ंक्शन बनाने के लिए किया जा सकता है जैसे:
Create Function [dbo].[CleanAndTrimString]
(@MyString as varchar(Max))
Returns varchar(Max)
As
Begin
--NULL
Set @MyString = Replace(@MyString,CHAR(0),'');
--Horizontal Tab
Set @MyString = Replace(@MyString,CHAR(9),'');
--Line Feed
Set @MyString = Replace(@MyString,CHAR(10),'');
--Vertical Tab
Set @MyString = Replace(@MyString,CHAR(11),'');
--Form Feed
Set @MyString = Replace(@MyString,CHAR(12),'');
--Carriage Return
Set @MyString = Replace(@MyString,CHAR(13),'');
--Column Break
Set @MyString = Replace(@MyString,CHAR(14),'');
--Non-breaking space
Set @MyString = Replace(@MyString,CHAR(160),'');
Set @MyString = LTRIM(RTRIM(@MyString));
Return @MyString
End
Go
जिसे आप इस प्रकार उपयोग कर सकते हैं:
Select
dbo.CleanAndTrimString(ProductAlternateKey) As ProductAlternateKey
from DimProducts