webForumDet fria alternativet
Logga in / Bli medlem

Radera flera tecken med TRIM()

Databaser & SQL

6 svar · 249 visningar · startad av bgust

Medlem sedan mars 2000136 inlägg
Frågan#1

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);

Medlem sedan nov. 2000199 inlägg
#2

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 ?

Medlem sedan mars 2000136 inlägg
#3

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]

Medlem sedan mars 2000136 inlägg
#4

Ingen som kunde detta eller?

Medlem sedan juni 20008 205 inlägg
#5

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!

Medlem sedan mars 2000136 inlägg
#6

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.

Medlem sedan nov. 2000199 inlägg
#7

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]

255 ms totalt · 4 externa anrop · v20260731065814-full.0bc6e834
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)