Announcement

Collapse
No announcement yet.

T-SQL wie generiere ich eine dynamische uhrzeit?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • T-SQL wie generiere ich eine dynamische uhrzeit?

    hallo zusammen,

    kann mir jemand verraten wie ich eine dynamische uhrzeit generiere.
    ich möchte eine datumsspalte mit einem datum und einer zufällig generierten uhrzeit füllen.

    set datum = Cast(convert(char(10),getdate(),104) + ' ' + zufällige uhrzeit as DateTime)

    wenn ich nun ein update auf 100 datensätze mache, dann sollen insgesamt 100 verschiedene uhrzeiten generiert werden.

    ist sowas überhaupt machbar?


    oder gibt es eine funktion mit der ich zufallszahlen generieren kann? mit angabe von (0-23).

    danke für eure hilfe

    gruß
    sebator
    Zuletzt editiert von sebator; 31.01.2008, 17:40.

  • #2
    Hallo,

    zum einen gibt es in T-SQL die RAND-Funktion, die eine Zufallszahl zurückliefert. Wenn allerdings in einer Batch-Anweisung mehrere unterschiedliche Zufallszahlen benötigt werden, die zu einer Uhrzeit verbaut werden sollen, kann auch die folgende Technik genutzt werden, die eine GUID als Zufallszahl nutzt:
    [highlight=SQL]
    USE tempdb
    GO

    DECLARE @iCount INT
    SET @iCount = 1
    WHILE @iCount < 5
    BEGIN
    SELECT DATEADD(second, ABS(CHECKSUM(NEWID())) / 100000, GETDATE())
    SET @iCount = @iCount + 1
    END
    [/highlight]

    Comment


    • #3
      Hallo,

      danke für den Hinweis aber ich habe es jetzt wie folgt gelöst:

      Update T_XXX
      set Datum = Cast(convert(char(10),getdate(),104) + ' ' + cast(FLOOR(10 + (RAND() * 10)) as char(2)) + ':' + cast(FLOOR(10 + (RAND() * 50)) as char(2)) + ':' + cast(FLOOR(10 + (RAND() * 50)) as char(2)) as DateTime)


      Das ganze in einer Schleife und schon bekomme ich für jeden Datensatz eine neue Uhrzeit generiert.

      Besten Dank

      Sebator

      Comment

      Working...
      X