Hur skriver man uttrycket för att exempelvis ersätta punkter(.) och komman(,) i början av en sträng mha TRIM()?
Om det bara handlar om en typ av tecken eller en sträng med given ordingsföljd är det ju:
TRIM(LEADING '\.' FROM stringToTrim);
Radera flera tecken med TRIM()
6 svar · 247 visningar · startad av bgust
TRIM tar bort en godtycklig prefix eller suffix men inte en godtycklig sträng bestående av . och ,.
Om du specifierar VAD du försöker göra så kan det vara enklare att besvara din fråga.
Tror att om du tittar på problemet från ett helt annat perspektiv så kanske du kan lösa ditt problem.
Kanske kan replace i kombination med trim lösa ditt problem ?
Det hela gäller sortering av celler där vissa celler börjar med punkter(.) och/eller fnuttar(') och kanske några andra tecken (ska kunna börja med "..'text" och "'.'.text" mm), men jag vill att sorteringen ska börja gälla från första alfabetiska bokstaven. T.ex.
Arne
...banan
'citron
Dajm
Normalt sett hamnar ju ...banan & 'citron först vilket jag inte vill.
För tillfället ser det ut såhär (vilket bara tar bort ('):
$myQuery = mysql_query ("SELECT * FROM personer ORDER BY TRIM(LEADING '\'' FROM namn));
[Redigerat av bgust den 09 jun 2001]
Ingen som kunde detta eller?
Jag har minsann för mig att man kan använda regexpar. Sök på kopmmandot REGEXP i manualen, kapitlet "MySQL Language Reference".
------------------
All things serve the Beam!
Om någon vet hur man isf ska skriva det regexp:et får ni gärna visa ett litet exempel, för jag för det inte att funka hur jag än vrider och vänder på det.
En lösning är att använda REPLACE och ta bort alla tecken du inte vill sortera efter:
SELECT *,REPLACE( REPLACE(namn,"\"",""), ".","") as sortorder
FROM personer ORDER BY sortorder
Om du vill ta bort mer än " och . byt ut namn mot ett yttterligare REPLACE.
------------------
Anders Lindbäck,Igiro Internet Giro
[Redigerat av Vetgirig den 09 jul 2001]