|
| MS SQL Server - Ekstra mellemrum? Fra : Thomas Voller |
Dato : 12-02-05 23:02 |
|
Hej DB-eksperter.
Jeg har overført en masse data fra en gammel Access-database til MS SQL
Server. Jeg brugte den "Import and Export Data" guide der kommer med MS SQL
Server 2000.
I tabellerne i SQL Server databasen er en del kollonner blevet til typen
"nchar". Det passede mig ikke så godt, så jeg ændrede felttypen til
"varchar". Problemet er, at der er kommet en hel masse mellemrum efter
teksten i de kollonner, der tidligere har været af typen "nchar".
Er der en let måde at få trimmet disse felter på? At få fjernet alle de
ekstra mellemrum? Der er måske en StoredProcedure eller noget?
Mvh. Thomas.
| |
Bent Stigsen (12-02-2005)
| Kommentar Fra : Bent Stigsen |
Dato : 12-02-05 23:41 |
|
[snip]
> I tabellerne i SQL Server databasen er en del kollonner blevet til typen
> "nchar". Det passede mig ikke så godt, så jeg ændrede felttypen til
> "varchar". Problemet er, at der er kommet en hel masse mellemrum efter
> teksten i de kollonner, der tidligere har været af typen "nchar".
>
> Er der en let måde at få trimmet disse felter på? At få fjernet alle de
> ekstra mellemrum? Der er måske en StoredProcedure eller noget?
Lidt copy-paste fra manualen
<quote>
*RTRIM*
Returns a character string after truncating all trailing blanks.
*Syntax*
RTRIM ( character_expression )
Is an expression of character data. character_expression can be a
constant, variable, or column of either character or binary data.
</quote>
/Bent
| |
Thomas Voller (13-02-2005)
| Kommentar Fra : Thomas Voller |
Dato : 13-02-05 00:30 |
|
"Bent Stigsen" <ngcdo@thevoid.dk> skrev
> Lidt copy-paste fra manualen
> <quote>
> *RTRIM*
Ja, jo... Men hvordan benytter man det? Jeg er helt grøn i SQL Server. De
data der skal trimmes liger i 2-3 forskellige tabeller. I hver tabel er der
5000+ rækker.
Mvh. Thomas.
| |
Bent Stigsen (13-02-2005)
| Kommentar Fra : Bent Stigsen |
Dato : 13-02-05 02:55 |
|
Thomas Voller wrote:
> "Bent Stigsen" <ngcdo@thevoid.dk> skrev
>
>>Lidt copy-paste fra manualen
>><quote>
>>*RTRIM*
>
> Ja, jo... Men hvordan benytter man det? Jeg er helt grøn i SQL Server. De
> data der skal trimmes liger i 2-3 forskellige tabeller. I hver tabel er der
> 5000+ rækker.
Kender ikke lige supermeget til Access, men det vil nok være identisk i
den. Du må have lavet opdateringsforespørgsler der, eller er det
altsammen pænt gemt væk bag guides?
Anyway, for at trimme en enkelt kolonne, vil du skulle bruge:
update tabelxx set kolonnexx=rtrim(kolonnexx)
Evt. kan du lave rettet kopi af tabellen:
select kolonne1, rtrim(kolonnexx) as kolonnexx, o.s.v...
into tabelyy
from tabelxx
Så vidt jeg husker er den indbyggede hjælp i sql manager/analyser
rimelig god (hvis man er til den slags).
/Bent
| |
Lars Hoffmann (13-02-2005)
| Kommentar Fra : Lars Hoffmann |
Dato : 13-02-05 12:35 |
|
Thomas Voller wrote:
> Ja, jo... Men hvordan benytter man det?
update min_tabel set felt = rtrim(felt)
| |
Thomas Voller (13-02-2005)
| Kommentar Fra : Thomas Voller |
Dato : 13-02-05 15:15 |
|
"Lars Hoffmann" <lars@intercambiodvd.com> skrev
> update min_tabel set felt = rtrim(felt)
Tak for hjælpen, begge to.
Mvh.
| |
|
|