Avatar billede simtek Nybegynder
03. juli 2009 - 10:43 Der er 12 kommentarer og
1 løsning

Begrænse taludtræk

Har trukket en række felter ud af en MSSQLdb (2000 version) hvor det ene af felterne består af talværdier - ialt 10 tal. Feltet med talværdien skal jeg begrænse til kun at medtage de første 6 tal.

Mit simple udtræk ser pt. således ud:

SELECT fltfornavn, fltefternavn, fltvarenummer
FROM dbo.tbkunder

Takker på forhånd for enhver hjælp...
Avatar billede mcb2001 Nybegynder
03. juli 2009 - 10:46 #1
kunne du ikke bruge LIMIT ?
Avatar billede CCodam Nybegynder
03. juli 2009 - 10:51 #2
#0 Jeg kan gætte mig til at det er fltvarenummer du omtaler? Hvilken Datatype har denne? Int?

#1 LIMIT begrænser antallet af rækker som der trækkes ud, det #0 vil have er begrænsning af værdien i en kolonne af de række han trækker ud.
Avatar billede CCodam Nybegynder
03. juli 2009 - 10:59 #3
Du kan benytte dig af Mid() http://www.w3schools.com/SQl/sql_func_mid.asp

[div]SELECT fltfornavn, fltefternavn, MID(fltvarenummer,1,6)
FROM dbo.tbkunder[div]
Avatar billede CCodam Nybegynder
03. juli 2009 - 11:00 #4
Lavede fejl i formateringen :/
SELECT fltfornavn, fltefternavn, MID(fltvarenummer,1,6)
FROM dbo.tbkunder
Avatar billede mcb2001 Nybegynder
03. juli 2009 - 11:01 #5
han siger der er 10 tal - ikke cifre - han vil kun have de 6 første - så det må da være LIMIT der skal bruges...

Er det fordi han kun vil have de 6 første cifre af et 10 cifret tal, så er det bestemt ikke SQL der skal lave den "beregning" men asp, php eller hvad han/hun ellers bruger...
Avatar billede simtek Nybegynder
03. juli 2009 - 11:12 #6
datatypen er nvarchar - MID understøttes åbenbart ikke i SQL 2000 da funktionen ikke er et anerkendt funktionsnavn...
Avatar billede CCodam Nybegynder
03. juli 2009 - 11:12 #7
#5 Som jeg lige skrev kan han bruge MID så jo det er også SQL ;)

Men det kan selvfølgelig godt være at det er mig der har misforstået, og ja hvis han bare vil have de 6 første rækker, så hedder det så vidt jeg ved TOP 6 i MSSQL.
Limit er til MYSQL m.m. :)
Avatar billede CCodam Nybegynder
03. juli 2009 - 11:14 #8
#6 Prøv med substring(fltvarenummer,1,6) istedet så :)
Avatar billede simtek Nybegynder
03. juli 2009 - 11:15 #9
nej, der er ikke tale om en begrænsning i antallet af rækker der er tale om jeg har et varenummer f.eks. 1234567890 i fltvarenummer og udtrækket skal begrænses til kun at medtage de første 6 ciffere i varenummeret altså f.eks. 123456
Avatar billede simtek Nybegynder
03. juli 2009 - 11:33 #10
CCoddam my man det funket med substring(fltvarenummer,1,6)

Tak for et meget hurtigt svar.
Avatar billede simtek Nybegynder
03. juli 2009 - 11:39 #11
vil gerne give point så du må lige give mig mulighed på substring...
Avatar billede CCodam Nybegynder
03. juli 2009 - 13:24 #12
Det var så lidt :) (Svar = #8)
Avatar billede a1a1 Novice
04. juli 2009 - 19:48 #13
eller bare
select left(<felt>,6)
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