Avatar billede goofy75 Nybegynder
31. juli 2003 - 09:04 Der er 20 kommentarer og
1 løsning

sammensætning af tlf numre

update tabelnavn set tlf = substring(phone,1,2) || substring(phone, 3,2)  || substring(phone, 5,2)

Virker ikke...

update tabelnavn set phone = replace(' ','',phone)

fik slettet alle tlf numre :( ...hvad skriver jeg?
Avatar billede tuctoh Nybegynder
31. juli 2003 - 09:07 #1
evt. + i stedet for ||
Avatar billede goofy75 Nybegynder
31. juli 2003 - 09:16 #2
YEz... ...er lige i gang med at restore mine data igen, så prøver jeg!
Avatar billede goofy75 Nybegynder
31. juli 2003 - 09:20 #3
incorrect syntax near ','

men nu brokker den sig da ikke over || ...hvad så nu? ;)
Avatar billede tuctoh Nybegynder
31. juli 2003 - 09:26 #4
phone - hvad er det? et felt i selve tabellen?
Avatar billede goofy75 Nybegynder
31. juli 2003 - 09:28 #5
ja, phone er et felt ...den anden string jeg skrev virkede jo også, så det må være ok...
Avatar billede tuctoh Nybegynder
31. juli 2003 - 09:28 #6
angående den replace... jeg har aldrig selv brugt replaces i SQL, men i ASP ville det være phone som stod først... prøv det engang (på et enkelt record så databasen ikke slettes :p)
Avatar billede goofy75 Nybegynder
31. juli 2003 - 09:30 #7
hmmm mærkelig... nu kørte scriptet, men med fejl... og mine tlf numre er da helt fucked up nu :(

har nu 3344 og 33 44

altså kun numre på 4 tegn, arg!
Avatar billede goofy75 Nybegynder
31. juli 2003 - 09:32 #8
jeg hiver lige mine gamle data tilbage igen igen, så er jeg klar til at prøve noget nyt...
Avatar billede tuctoh Nybegynder
31. juli 2003 - 10:08 #9
porøv

update tabelnavn set tlf = substring(phone,0,2) + substring(phone, 2,4)  + substring(phone, 4,6)  + substring(phone, 6,8)

hvis det ikke virker, så måske med ||
Avatar billede goofy75 Nybegynder
31. juli 2003 - 10:12 #10
"string or binary data would be truncated
the statement has been terminated"
Avatar billede tuctoh Nybegynder
31. juli 2003 - 10:13 #11
prøv at lave en select på det først, og se hvad resultatet er...

select top 1 [temp] = substring(phone,0,2) + substring(phone, 2,4)  + substring(phone, 4,6)  + substring(phone, 6,8) tabelnavn FROM tablenavn
Avatar billede goofy75 Nybegynder
31. juli 2003 - 10:23 #12
select top 1 [temp] = substring(phone,0,2) + substring(phone, 2,4)  + substring(phone, 4,6)  + substring(phone, 6,8) FROM crm5.phone

giver 7010202201201

det er jo lidt grimt tal...
Avatar billede tuctoh Nybegynder
31. juli 2003 - 10:24 #13
select top 1 [temp] = substring(phone,1,2) + substring(phone, 3,4)  + substring(phone, 5,6)  + substring(phone, 7,8) FROM crm5.phone

prøv engang det
Avatar billede tuctoh Nybegynder
31. juli 2003 - 10:29 #14
nu forstår jeg så ikke helt hvad det skal bruges til... i "phone" står der vel allerede telefonnummeret!? Hvorfor så danne det en gang til?
Avatar billede tuctoh Nybegynder
31. juli 2003 - 10:34 #15
SELECT    SUBSTRING(CONVERT(nvarchar(8), phone), 1, 2) + SUBSTRING(CONVERT(nvarchar(8), phone), 3, 2) + SUBSTRING(CONVERT(nvarchar(8),
                      phone), 5, 2) + SUBSTRING(CONVERT(nvarchar(8), phone), 7, 2) AS Expr1

det her giver i hvert fald det rigtige telefonnummer.
Avatar billede tuctoh Nybegynder
31. juli 2003 - 10:35 #16
update tabelnavn set tlf = SUBSTRING(CONVERT(nvarchar(8), phone), 1, 2) + SUBSTRING(CONVERT(nvarchar(8), phone), 3, 2) + SUBSTRING(CONVERT(nvarchar(8),
phone), 5, 2) + SUBSTRING(CONVERT(nvarchar(8), phone), 7, 2)

update tabelnavn set phone = replace(phone,' ','')



det burde virke.
Avatar billede goofy75 Nybegynder
31. juli 2003 - 10:51 #17
jeg skal ikke danne et tlf nummer, der står tlf numre allerede, men de er en blanding af 33 44 55 66 og 33445566 typen, jeg ønsker at fjerne mellemrum i dem som har mellemrum...
Avatar billede tuctoh Nybegynder
31. juli 2003 - 12:45 #18
nåå... det kunne du jo bare have sagt :s

update tabelnavn set phone = replace(phone,' ','')

det burde være det som skal til...
Avatar billede robotten Praktikant
31. juli 2003 - 16:02 #19
- gennemgå venligst dine åbne spm., tak. Vi er flere, der afventer respons.
Avatar billede goofy75 Nybegynder
01. august 2003 - 10:57 #20
YEAH!!!!

update tabelnavn set phone = replace(phone,' ','')


Dét kan vi lide... Point er dine!
Avatar billede tuctoh Nybegynder
01. august 2003 - 12:02 #21
:)

næste gang skulle du bare have spurgt "Hvordan fjerner jeg med SQL alle mellemrum i en streng?" og det havde været klaret hurtigere ;)

men tak for points.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester