Adında bir sütunu sıralamak ve tırnak görmezden yine de var olduğunu, bazı öğeler olmak?
Örneğin:
"Bu harika"
Başka bir makale
Madde 2
Merhaba b>
Sıralama olacaktır olarak:
Başka bir makale
Madde 2
Merhaba
"Bu cool" b>
Tırnak veritabanında zaten ...
Kabul edilebilir ve TRIM daha hızlı olması () veya () tabanlı çözüm, sadece ilk karakteri bir alıntı olma (veya uzantısı olmayan bir alfanümerik karakteri) odaklanmak için DEĞİŞTİR olabilecek bir hile.
ORDER BY CASE LEFT(myCol, 1)
WHEN '"' THEN REPLACE(myCol, '"', '')
ELSE myCol
END CASE
Genel olarak, daha büyük bir veri kümesi için, işlem bu tür bir görüntüleme amacıyla sütun karşı amaçlı sorgulamak için sütun ilavesi ile, örneğin, yük zaman yapılmalıdır.
SELECT *
FROM table
ORDER BY CASE WHEN len(col) >= 2
THEN REPLACE(LEFT(COL, 1), '"', '')
+ RIGHT(LEFT(col, LEN(col)-1), LEN(LEFT(col, LEN(col)-1))-1)
+ REPLACE(RIGHT(col, 1), '"', '')
ELSE col
END
ORDER BY olarak, ben 1 'içinde' & değiştirerek çift tırnak ortadan '' tarafından son karakterler. Tabii ki col uzunluğu> = 2 geçerlidir bu.