Posted by mndevnotes Język T-SQL w najnowszej wersji SQL Server został wzbogacony o szereg nowych funkcji. W tym wpisie zajmę się trzema funkcjami służącymi do konwersji typów danych: PARSE, TRYPARSE, TRYCONVERT.
Bazy danych i XML 3229 dni, 10 godzin, 26 minut temu 139 źrodło rozwiń
Załóżmy, że mamy tabelę z kolumną typu VARCHAR(2500), a w niej sporo wierszy. Wynik zapytania z tej tabeli chcielibyśmy posortować według wspomnianej kolumny. Oczywiście będzie to bardzo czasochłonne, a tym samym słabo wydajne. Jak sobie z tym poradzić?
Bazy danych i XML 3250 dni, 21 godzin, 15 minut temu 180 źrodło rozwiń
Kiedyś podczas pisania procedury SQL potrzebowałem funkcję, która podzieli mi tekst oddzielony przecinkami na części. Wiedziałem, że taka funkcja istnieje w MySQL ( splitstring ) ale w Oracle nie przewidzieli jej.Google było bardzo pomocne ...
Bazy danych i XML 3260 dni, 12 godzin, 45 minut temu 80 źrodło rozwiń
Agregaty kroczące Rozważmy następującą sytuację: mamy w bazie danych rekordy zużycia jakiegoś zasobu oraz pulę do wykorzystania. Na przykład rozliczamy jeden okres rozliczeniowy abonenta telefonu, ma on w ofercie jakąś ilość darmowych minut w każdym cyklu, więc gdzieś w bazie, w danych bilingowych w kolejnych rekordach ilości minut poszczególnych rozmów wchodzących w skład cyklu rozliczeniowego. Interesująca nas część rekordu może się składać z dwóch kolumn: (id, minuty), gdzie większa wartość pola id...
Bazy danych i XML 3269 dni, 13 godzin, 9 minut temu 230 źrodło rozwiń
autor: Chciałbym zapoczątkować nową świecką tradycję na moim blogu. Pokusiłem się o nagranie 2 minutowego filmiku na którym prezentuje jak uruchamiać jedno zapytanie na wielu serwerach przy użyciu SQL Server Management Studio. Moim celem jest dzielenie się prostymi, aczkolwiek mam nadzieję, że przydatnymi "pomysłami" w jak najkrótszym czasie antenowym. Poniżej przykładowy filmik. Zachęcam do poświęcenia 140 sekund na obejżenie tego filmiku i oczywiście proszę o komentarze na temat takiej formy knowledge ...
Bazy danych i XML 3387 dni, 12 godzin, 14 minut temu 215 źrodło rozwiń
Może wydarzyć się sytuacja, że zajdzie konieczność utworzenia unikalnego klucza na kolumnie typu tekstowego (CHAR lub VARCHAR). W tym momencie warto nadmienić, iż każdy znak zajmie wtedy 1 bajt. Jeśli zaś będzie to typ danych unicode (NCHAR lub NVARCHAR), to znak zapisany będzie na 2 bajtach pamięci. Dlaczego o tym wspominam? Ponieważ jeśli wielkość indeksu przekroczy magiczną granicę 900 bajtów pojawia się Error 1946...
Bazy danych i XML 3536 dni, 2 godziny, 42 minuty temu 89 źrodło rozwiń
SQL Server posiada kilka mechanizmów umożliwiających przechowywanie dużej ilości danych np. plików graficznych. FileStream Pierwszych z nich jest FILESTREAM. Przed pojawieniem się typu FILESTREAM, programiści najczęściej zapisywali pliki sami na dysku a lokalizacje przechowali w bazie danych. Rozwiązanie dobre jednak kłopoty powstały w momencie synchronizacji – co jeśli ktoś usunie jakiś plik z dysku? FILESTREAM to nic innego jak zapisanie pliku w bazie danych. W przeciwieństwie do typu varbinary, FILEST...
Bazy danych i XML 3558 dni, 7 godzin, 57 minut temu 148 źrodło rozwiń
Ostatnio dopadła mnie potrzeba sprawdzenia połączenia do serwera bazy danych z innej maszyny. Dodatkowo nie mogłem (nie chciałem) na niej nic instalować, ot czysta maszynka z IIS7. Po poszukiwaniach udało mi się naleźć na to rozwiązanie: notatnik i trick z Data Link File (*.udl).
Witajcie, zapraszamy na trzeci odcinek codingtv();! Dzisiaj omawiamy założenia podejścia CodeFirst w Entity Framework oraz na podstawie stworzonego modelu generujemy bazę danych. Tak jak poprzednio, trzeci odcinek został podzielony na dwie części. Zapraszamy do oglądania i czekamy na Wasze komentarze!
Zapraszamy na drugi odcinek codingtv(); Dzisiaj założymy projekt, przedstawimy aplikację miniscrum oraz opowiemy, czym jest NuGet.
Dzisiaj przedstawimy jaki projekt będziemy tworzyli w ramach codingtv();, narzędzia z jakich będziemy korzystali oraz zaplanujemy sobie zadania na następne odcinki. Zapraszamy do oglądania i czekamy na Wasze komentarze.
Dzięki wykorzystaniu SMO (jeśli nie wiesz co to – przeczytaj wpis pt.:"Jak DataSet’a przenieść do MsSQL'a? (SQLServer Management Objects i SqlBulkCopy)") można w prosty sposób wykonywać wiele operacji na bazie danych Ms SQL. Jedną z takich operacji może być usuwanie elementów bazy danych. W większości przypadków wystarczy na wybranym elemencie z bazy danych wykonać proste Drop, jednak nie zawsze musi się to udać.Taki przypadek może mieć właśnie miejsce z tabelami. Załóżmy, że chcemy usunąć wybraną tabelę...
Bazy danych i XML 3660 dni, 8 godzin, 25 minut temu 26 źrodło rozwiń
W komentarzu do poprzedniego posta („SMO: sprawdzanie dostępnych serwerów MS SQL i automatyczna konstrukcja ConnectionString”), Paweł Łukasik (Pawlos) zapytał, czy jest jakaś różnica pomiędzy ServerConnection a SqlConnectionStringBuilder jeśli chodzi o tworzenie connection stringa? Przyjrzyjmy się temu tematowi trochę bliżej.W ramach .Net Framework dostępna jest klasa System.Data.Common.DbConnectionStringBuilder, która jest bazową klasą dla innych klas specjalistycznych (dla konkretnego typu bazy danych...
Bazy danych i XML 3668 dni, 12 godzin, 29 minut temu 65 źrodło rozwiń
Czasami istnieje potrzeba sprawdzenia czy baza danych jest dostępna na serwerze Ms SQL Server. W tym celu można wykorzystać widok sys.databases, na którym można wykonać select'a i sprawdzić czy dana baza danych występuje na liście (np. „select * from sys.databases”). Zobaczmy jednak, jak to zrobić przy pomocy SMO.O SMO, czyli SqlServer Management Objects pisałem już wcześniej we wpisie dot. zagadnienia jak DataSet’a przenieść do MsSQL'a (z wykorzystaniem SQLServer Management Objects i SqlBulkCopy), więc ...
Bazy danych i XML 3696 dni, 18 godzin, 43 minuty temu 48 źrodło rozwiń
Nie… w tym wpisie nie będzie o statystyce odwiedzin bloga i innych podobnych rzeczach, o których można dziś na wielu blogach (u mnie o tym będzie może następny wpis :)). Będzie o klasie o której pewnie niewielu z was wcześniej wiedziało. Do wczoraj nie wiedziałem także i ja. Poznajcie – SqlStatistics. Klasa jest internal sealed tak więc czemu o niej cokolwiek piszę? A no ponieważ do samej klasy dostać się nie możemy natomiast do danych przez nią zbieranych już tak. Śledząc jej zależności Reflector’em zau...
Bazy danych i XML 3706 dni, 6 godzin, 38 minut temu 95 źrodło rozwiń
autor: Dziś potrzebowałem zrobić bardzo nietypową operację – zresetować indeks w tabeli w MS SQLu. I szczerze mówiąc nie sądziłem, że robi się to tak prosto. W tym celu należy użyć komendy:DBCC CHECKIDENT (nazwatabeli, reseed, ostatniindeks) W komendzie podajemy nazwę tabeli, w której chcemy zresetować indeks oraz numer ostatniego indeksu w tabeli. Jeżeli chce się aby automatycznie generowane numery zaczynały się od 1 to należy użyć tego polecenia w następujący sposób:DBCC C...
Bazy danych i XML 3724 dni, 14 godzin, 56 minut temu 230 źrodło rozwiń
SQL Search. to dodatek do SQL Server Management Studio (SSMS). pozwalający na szybkie i efektywne przeszukiwanie bazy danych. Zadanej frazy szukamy w elementach, takich jak: tabele, widoki, procedury, konstreiny, triggery, funkcje. Wyszukiwanie jest natychmiastowe, ponieważ...
Bazy danych i XML 3726 dni, 3 godziny, 41 minut temu 103 źrodło rozwiń
Autor: Dotychczas myślałem, że LINQ dopuszcza stosowanie zapytań tylko i wyłącznie w formie SQL-podobnej, tzn: view sourceprint?1 var zmienna = from x in y select x; Doczytałem dzisiaj jednak, że jest to jedna z dwóch metod umożliwiających konstruowanie zapytań do bazy danych. Ta znana mi metoda to tzw. składnia zapytań. Druga, którą kojarzyłem, ale nie wiedziałem, że jest alternatywą, to tzw. składnia lambda. Żeby nie zanudzać teorią przedstawiam poniżej przykład tego samego zapytania napisanego na d...
Bazy danych i XML 3842 dni, 22 godziny, 48 minut temu 248 źrodło rozwiń
Na wss.pl pojawił się wątek dotyczący przekształcenia danych tabelarycznych ze strony HTML na tabelę w bazie danych. W dyskusji wyraziłem wątpliwość co do trywialności rozwiązania ze względu na fakt, że zawartość stron HTML odbiega znacznie od poprawnych dokumentów XML (a do zapisu do bazy danych chciałem wykorzystać możliwości XML w SQL Server). Jednak jak się okazało istnieje świetny helper do dokumentów HTML, który znajduje się pod tym adresem: htmlagilitypack. Jako cel swego przekształcenia wybrał...
Bazy danych i XML 4096 dni, 3 godziny, 30 minut temu 44 źrodło rozwiń
Na wss.pl pojawił się wątek dotyczący działań na typach datetime. Jeden z uczestników dyskusji stwierdził, że operacja odejmowania dwóch wartości datetime daje w wyniku czas. Jak pokazałem, zapytanie SELECT GETDATE() - GETDATE() daje w wyniku 1900-01-01 00:00:00.000 czyli nadal typ datetime (należało się tego spodziewać) a dopiero po jawnym zrzutowaniu na float widzimy numeryczną reprezentację z różnicy dat (dlaczego nie na time, o tym mała uwaga na końcu notki). Ale pomyślałem sobie, że w pewnych ...
Bazy danych i XML 4109 dni, 12 godzin, 18 minut temu 96 źrodło rozwiń