Potreboval by som nazor plebsu. Premyslam, ze na stare kolena skusim predsa len nejaky marketing. Idea je tvorit idealne vtipne videa, ktore prezentuju firmu a zaroven zanechaju v divakovi nie az tak reklamny dojem, ale skor si ten pribehovy. Prva cast je o klasickom vikendovom utoku, ktory sa bezne deje, cize utocnik najde otvoreny deravy Windows server, pocka si na vikend a v piatok v noci zacne so sifrovanim jeho obsahu. Vacsinou este v sobotu sifrovanie bezi, ale prvi zamestnanci prichadzaju do prace az v pondelok, ked najdu nepouzitelne programy, databazy, zrazu nic nefunguje. Dnes uz nie je je vacsinou cesta ako data desifrovat, takze bud sa zplati vydieracovi (neodporucam), alebo sa obnovia data a cely server zo zalohy. Samozrejme s tym, ze sa aj uzavrie diera, ktorou sa utocnik dostal dnu.
Přejít na článek
O jaký SQL server se jedná? A nebyl by možný (= vhodnější) převod na potřebný formát před uložením do DB?
Najlepšie bude, keď formátovanie toho čísla spravíš v aplikácií, ktorá ho prezentuje používateľovi. Robiť to priamo v SQL príkaze je zbytočne zložité.
Ak by si to predsa len chcel robiť priamo na úrovni SQL, tak všetky menej zložité riešenia závisia od konkrétneho typu databázového stroja, ktorý si zabudol spomenúť.
Omlouvám se za opomenutí.
Jedná se o SQL Server 2005 Express.
Data jsou tak uložené. Je to hotová aplikace kterou jsme koupili. Já z toho potřebuji "jen" vyexportovat jeden výstup a právě požadovaný údaj o době je uložen v desetinném tvaru ve float.
Měly by to zvládnout funkce CAST and CONVERT, ale v tom popisu je to tak moc precizně popsané, že tomu už nerozumím. Konkrétně mě zajímá from float to datetime.
Problém je v tom, že pro CAST(Hodiny AS datetime) např. z 0,483333333333336 dostanu 4.1.1900 15:36:00, žádoucí je 0:29 hod. Přitom Hodiny jsou ve float. A pro CONVERT, kterou bych si vytáhl hh:mm už tak není správný výstup.
Když to vyexportuji do Excelu, tak ani tam jsem funkci, která by to převedla nenašel.
Na prevod takého čísla na typ datetime stačí jednoduchá matematika, napr. pre čas 0,483333333333336:
Problémom je, že výsledok je datetime, takže štandardné funkcie pre formátovanie dátumu stačia len pre hodnoty z intervalu <0, 24).
Môžeš vyskúšať niečo takéto (za @x dáš názov stĺpca) a ak ti to bude vyhovovať, tak si to definuj ako funkciu, nech sa tie selecty dajú potom čítať:
Díky moc, zítra to hned ověřím.
To dělení 24 mě nenapadlo. Mělo by stačit i prosté dělení bez převodu na datetime. Je to jen do sestavy. Dál si to už naformátuji.
Pokud by to někdy někomu mohlo pomoci, tak tady je řešení: