Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


SQL-Server och veckonummer

Postades av 2000-11-15 11:24:00 - Raderat konto, i forum databaser, Tråden har 3 Kommentarer och lästs av 2665 personer

Jag vill kunna ta ut innevarande veckonummer baserat på ett datum.

Typ:

select datepart(wk, '2000-11-15')

Problemet är att i detta fall returneras 47, men här i Sverige
skall detta vara vecka 46.

I Sverige börjar vecka 1 den första måndagen. Tex I år så
börjar vecka 1 den 3 januari. I SQL-Server verkar vecka 1 räknas
från den 1 januari.

Att ändra regionala inställningar påverkar inte.

Någon som vet hur man kringgår detta på ett smart sätt.


Svara

Sv: SQL-Server och veckonummer

Postades av 2000-11-15 22:32:00 - Pelle Johansson

i vb kastar man på ytterligare 2 variabler:
x = DatePart(wk, "2000-11-15", vbThursday, vbFirstFourDays)

där vbThursday = 5 och vbFirstFourDays = 2

/Pelle


Svara

Sv: SQL-Server och veckonummer

Postades av 2000-11-16 08:55:00 - Christoffer Hedgate

Precis som Pelle säger så beräknas veckonummer i Sverige från den första veckan som består av minst 4 dagar (alltså inte första måndagen på året). Tyvärr verkar det inte finnas något sätt att bestämma detta i SQL Server. Märkligt. Du kan åtminstone sätta vilken dag som är första dag i veckan så här:

SET DATEFIRST x

där x är en siffra från 1-7 (måndag - Söndag).

Men, för att få korrekt veckonummer hjälper antagligen inte det. Dock kan man fråga sig om verkligen SQL Server ska hantera detta åt dig? Kankse det är något som ska ligga i din klient istället. Det kan ju t ex hända att du skriver en sproc som används av klienter med olika lands- och språkinställningar. Då ska ju inte SQL Server bestämma hur veckonumret ska skapas, utan den ska endast leverera ett datum, vilket sedan formatteras till ett veckonummer i klienterna.


Svara

Sv: SQL-Server och veckonummer

Postades av 2000-11-16 11:56:00 - Raderat konto

Tack för tipsen. Det där med hur första veckan räknas, hade jag missat helt 8-)

Orsaken till att jag vill ha ut veckonummer i SQL beror på att
jag håller på med ett jobb där jag tar ut statistik ur en (svensk) databas, med bl.a summeringar grupperat per vecka.

Så här har jag löst det hela:

/* */

set datefirst 1

declare @datum datetime,
@days int

select @datum = convert(varchar, year(getdate())) + '-01-01'
select @days = 0

/* leta ratt pa forsta mandagen innevarande ar.*/
while datepart(dw, @datum) <> 1
begin
select @datum = dateadd(dd, 1, @datum)
select @days = (@days + 1)
end

/* hur manga dagar in pa aret ligger mandag? */
if @days > 4
begin
-- om @days ar mindre an 4, backa 7 dgr
select @datum = dateadd(d, -7, @datum)
end

/* rakna antal veckor med @datum som utgangspunkt */
select (datediff(d, @datum, getdate()) / 7) + 1 as 'week'

/* */


MVH // Jonte


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 612
27 958
271 741
2 433
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies