Avatar billede Haggar77 Novice
18. juni 2019 - 09:07 Der er 5 kommentarer og
1 løsning

Hjælp til SQL søgning

Hejsa :)
Jeg har ellers rodet meget med SQL og PHP men kan ikke få denne sætning til at virke??

SELECT distinct SerialNumber, dtLastModif FROM [ASSETPROD].[dbo].[amRSPCNrLog] where dtLastModif like '%2019-06%'

Det virker hvis man fjerner  -06, så tyder på det er bindestregen der driller i liken, men så kommer der bare alt for meget med. :(

formatet i tabellen er lavet som jeg kan se (Y-m-d H:i:s.u) altså eks. 2019-06-14 10:15:59.430

Håber der er nogen der kan hjælpe :) 

På forhånd tak.
Avatar billede Jørgen Kirkegaard Professor
18. juni 2019 - 09:46 #1
Jeg ved, at det ikke var dét, du ønskede, men jeg ville nok spørge på Year og Month, hvis dit query gælder det. Alternativt kan du måske formattere datoen først?
Avatar billede Slater Ekspert
18. juni 2019 - 09:50 #2
Jeg går ud fra feltet er et DateTime felt, eftersom det har et "dt" prefix. Jeg bruger sjældent SQL Server direkte, så er faktisk ikke helt klar over hvordan det gemmer det - men du kan ikke regne med at det ligger som en streng du kan søge i sådan.

Hvis hastighed ikke betyder så meget, burde du kunne sige f.eks.
where year(dtLastModif) = 2019 and month(dtLastModif) = 6
Men når man bruger funktioner i en where-clause kan databasen ikke udnytte indexes. Det er dog det samme når du bruger en string search, som du forsøger, hvilket er endnu langsommere.

Hvis du vil optimere hastigheden også, er det faktisk bedre at bruge noget i stil med
where dtLastModif >= '2019-06-01' and dtLastModif <= '2019-06-30'
Avatar billede Haggar77 Novice
18. juni 2019 - 10:09 #3
Ja det giver noget bedre mening når man søger i datetime at man bare bruger >= og <=  end hvis man laver alle de like og checks, gav også noget hurtigere søgning kunne jeg godt mærke..

Tak for info :)
Avatar billede 0123 Novice
24. januar 2020 - 21:20 #4
Hej
Hvilke bøger skal man have , hvis man skal begynde at programmere i sql , som nybegynder?
Avatar billede Slater Ekspert
24. januar 2020 - 21:47 #5
@0123:

Det ville nok give mest mening at oprette et nyt spørgsmål om det, i stedet for at kommentere på et der er et halvt år gammelt. Men det kommer an på så meget. For det første er der utallige dialekter af SQL - for det andet, selvom du teknisk set kan programmere i SQL, står det sjældent alene. Som regel er det bare databasedriveren til et programmeringssprog udenom. Har du valgt et der?
Avatar billede 0123 Novice
25. januar 2020 - 11:02 #6
Nej det har jeg ikke
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