Welcome to Sign in | Help
in Search

Probleme cu data in tabel din baza de date .mdf

Last post 12-07-2010, 2:34 PM by Slick. 14 replies.
Sort Posts: Previous Next
  •  11-24-2010, 3:54 PM 8513

    Probleme cu data in tabel din baza de date .mdf

    Salut!

    Am o baza de date .mdf de la o aplicatie ce foloseste Mssql server. Problema e cu data din tabele care apare sub forma unui numar format din 10 cifre. Se poate converti cumva sau cum se poate rezolva problema?

     

  •  11-24-2010, 4:06 PM 8514 in reply to 8513

    Re: Probleme cu data in tabel din baza de date .mdf

    unde apare, ca nu am inteles ? in excel?

    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  11-24-2010, 10:32 PM 8515 in reply to 8513

    Re: Probleme cu data in tabel din baza de date .mdf

    Ce tip de data este coloana respectiva?
    Folositi SQL Server Management Studio, conectat la serverul pe care se afla baza de date, puteti afla tipul de data expandand nodul columns - pe tabelele care va intereseaza.

    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
  •  11-26-2010, 8:57 AM 8520 in reply to 8515

    Re: Probleme cu data in tabel din baza de date .mdf

    Sql server management studio express am folosit si eu.

    Am expandat columns iar pentru coloana care ma intereseaza am asa: "ReceiveTime(bigint, null)"

    Data ar trebui sa fie asa: "25-11-2010 12:34:23"

  •  11-26-2010, 10:11 AM 8521 in reply to 8520

    Re: Probleme cu data in tabel din baza de date .mdf

    Slick:

    Data ar trebui sa fie asa: "25-11-2010 12:34:23"


    Ce valoare bigint ai în baza de date pentru data calendaristică de mai sus ?
  •  11-26-2010, 11:08 AM 8523 in reply to 8521

    Re: Probleme cu data in tabel din baza de date .mdf

    Vezi daca nu e vorba de "unix timestamp"
    http://www.unixtimestamp.com/index.php
  •  12-01-2010, 2:27 PM 8533 in reply to 8523

    Re: Probleme cu data in tabel din baza de date .mdf

    Intradevar se pare ca e vorba de "unix timestamp". Aveti idee cum sa-l fac sa apara normal? Sau cu ce alt program sa deschid baza de date sa nu mai apara chestia aia?
  •  12-01-2010, 2:35 PM 8534 in reply to 8533

    Re: Probleme cu data in tabel din baza de date .mdf

    Poti sa incerci un:

    SELECT DATEADD(second,ReceiveTime,'19700101') AS ReceiveDateAndTime, * FROM YourTable

    Razvan
  •  12-01-2010, 4:17 PM 8537 in reply to 8534

    Re: Probleme cu data in tabel din baza de date .mdf

    Sau, daca accesezi dintr-o alta aplicatie, te poti inspira de aici:
    http://www.codeproject.com/KB/cs/timestamp.aspx
  •  12-02-2010, 3:43 PM 8540 in reply to 8534

    Re: Probleme cu data in tabel din baza de date .mdf

    @rsocol

    Poti sa imi detaliezi putin procedura? Experienta mea cu baze de date tinde la 0 :D

  •  12-02-2010, 3:47 PM 8541 in reply to 8540

    Re: Probleme cu data in tabel din baza de date .mdf

    În Management Studio apeşi New Query, apoi selectezi baza de date (în combo-ul în care apare în mod implicit "master"), iar apoi scrii query-ul de mai sus (în care modifici "YourTable" cu numele tabelei tale) şi apeşi pe butonul Execute.

    Răzvan
  •  12-03-2010, 11:16 AM 8542 in reply to 8541

    Re: Probleme cu data in tabel din baza de date .mdf

    @rsocol

    Am reusit sa fac chestia aia si intradevar merge. Totusi nu se poate cumva sa fac sa schimb timpul in toate tabelele din baza de date? Sau se poate face ceva la baza de date sau la server ca sa nu mai apara data asa?

  •  12-03-2010, 12:06 PM 8543 in reply to 8542

    Re: Probleme cu data in tabel din baza de date .mdf

    Aveti mai multe solutii:
    1. Construiti o functie prin care sa apelati in interogari toate coloanele de acel tip, exact cum v-a descris Razvan:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE FUNCTION dbo.fn_ConvertUnixTimeStamp(@UnixTimeStamp bigint)
    RETURNS datetime
    AS
    BEGIN
    DECLARE @ReturnedDate datetime;
    SET @ReturnedDate = DATEADD(second,@UnixTimeStamp,'19700101');
    RETURN @ReturnedDate;
    END;
    GO

    Apelare:
    1
    2
    SELECT dbo.fn_ConvertUnixTimeStamp(ReceiveTime) AS ReceiveDateAndTime FROM MyTable;
    GO
    2. Adaugati o coloana calculata la tabelele continand acest tip:

    1
    2
    3
    ALTER TABLE MyTable
    ADD ReceiveDateAndTime AS DATEADD(second,ReceiveTime,'19700101');
    GO



    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
  •  12-03-2010, 12:39 PM 8545 in reply to 8543

    Re: Probleme cu data in tabel din baza de date .mdf

    Dacă nu mai e nevoie să păstraţi coloana în vechiul format, puteţi adăuga o coloană nouă în care să copiaţi datele respective în format datetime şi apoi să ştergeţi vechea coloană (eventual să şi o redenumiţi pe cea nouă cu numele coloanei vechi):

    ALTER TABLE MyTable ADD ReceiveDateAndTime datetime
    UPDATE MyTable SET ReceiveDateAndTime = DATEADD(second,ReceiveTime,'19700101')
    ALTER TABLE MyTable DROP COLUMN ReceiveTime
    --EXEC sp_rename 'MyTable.ReceiveDateAndTime', 'ReceiveTime', 'COLUMN'

    Răzvan
  •  12-07-2010, 2:34 PM 8554 in reply to 8545

    Re: Probleme cu data in tabel din baza de date .mdf

    Va multumesc tuturor pentru ajutor. :)
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems