ठीक है बच्चे: तो जेड
CREATE TABLE IF NOT EXISTS `letters` (
`letter` varchar(1) NOT NULL,
PRIMARY KEY (`letter`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `letters` (`letter`) VALUES
('A'),('B'),('C'),('D'),('E'),('F'),('G'),('H'),('I'),('J'),('K'),('L'),('M'),
('N'),('O'),('P'),('Q'),('R'),('S'),('T'),('U'),('V'),('W'),('X'),('Y'),('Z');
तो को पत्र एक साथ उस तालिका आबादी। टी-एसक्यूएल के लिए यहां एक बुलबुले समारोह है। आप स्वयं को mysql में परिवर्तित कर सकते हैं। यह पता चला है कि SQL सर्वर वास्तव में रिकर्सिव फ़ंक्शंस पसंद नहीं करता है, लेकिन यह वास्तव में बहुत तेज़ी से भाग गया।
Create Function bubblesort(@In varchar(255))
Returns varchar(255)
AS
BEGIN
Declare @Answer varchar(255)
Declare @swapped bit
Declare @Counter int
Set @Answer = @In;
--only need to sort strings longer than 1
if len(@Answer) > 1
BEGIN
While 1=1
BEGIN
Set @Counter = 1;
Set @swapped = 0;
While @Counter <= len(@Answer) - 1
BEGIN
If substring(@Answer, @Counter, 1) > substring(@Answer, @Counter + 1, 1)
BEGIN
--swap
Set @swapped = 1;
Set @Answer = Stuff(@Answer, @Counter, 2, reverse(substring(@Answer, @Counter, 2)));
END;
Set @Counter = @Counter + 1;
END;
if @swapped = 0
BREAK;
END;
END;
Return @Answer;
END;
go
परिणाम
Select ltrim(myfield) from mytable;
आप डुप्लिकेट का इलाज कैसे करना चाहते हैं? "पुस्तक" -> "बीको" या "बीकेयू"? ब्याज से, आपको ऐसा करने की आवश्यकता क्यों है? –
केस-संवेदी, या नहीं? –
केस संवेदनशील नहीं –