Prima Aprilis
Jak wyciąć cyfry z końca napisu (SQL)?
Załóżmy, że masz tabelę:
CREATE TABLE test (string VARCHAR(50)) INSERT INTO test VALUES(’S-123′),
(’SKOK-12#34′),
(’ABC?CDE/12/EG/19871′)
Zauważ, że każdy z napisów kończy się jakąś liczbą. Jak wyciąć liczbę z napisu w tym przypadku? Przydatna będzie funkcja PATINDEX. Funkcja ta potrafi znaleźć wystąpienie określonego wzorca w napisie. Tylko czym miałby być u nas ten napis. Wycięcie z końca napisu liczby polega na znalezieniu pierwszego znaku, który liczbą nie jest patrząc od końca. Maska, która określa znak nie będący liczbą wygląda tak: '%[^0-9]%’ natomiast obrót napisu tak, by analizę wykonać od końca zapewni funkcja REVERSE: Czytaj dalej »
Co jest warty certyfikat? Jak rozpocząć certyfikację z SQL 2012?
Kiedy przystępujesz do programu certyfikacyjnego, masz w tym jakiś cel. Wierzę, że tym celem nie jest jedynie udekorowanie ścian fajnymi dyplomami. Dyplom dostaniesz już po szkoleniu, zaś wejście na ścieżkę certyfikacyjną to zaliczanie kolejnych egzaminów.
Przyjrzyjmy się kilku liczbom:
- Co roku na świecie przybywa około 59% procent danych w porównaniu do poprzedniego roku (Gartner)
- Z tego 15% jest zapisywane w postaci tabel
- W ciągu najbliższych dziesięciu lat będzie 44 razy więcej danych niż obecnie
- W tym samym czasie ilość osób zajmujących się tymi danymi 1,4 raza
Wniosek? Będziemy mieć więcej pracy. Czytaj dalej »
Porównanie wersji/edycji SQL Server 2012
Na stronie http://msdn.microsoft.com/en-us/library/cc645993(v=SQL.110).aspx znajduje się prosta tabelka przedstawiająca możliwości i ograniczenia poszczególnych wersji SQL Server 2008.
Strona zawiera też opisy prezentowanych funkcjonalności.
Być zawsze na czas. Technologia, wiedza i ludzie.
Znam pewną fabrykę, która jak to duża fabryka, nie przyjmowała małych zleceń, tylko same duże. Wiadomo – duże zlecenie, duże pieniądze. Aby zaś zrealizować małe zlecenie pracownicy musieli odpowiednio przygotować do tego maszyny, wymienić materiał, co generowało mniejsze dochody. Najgorsze przy przyjmowaniu małych zleceń było to, że kiedy fabryka zdecydowała się je realizować, a właśnie pojawiło się duże opłacalne zadanie, wykonanie dużego zlecenia nie było możliwe, bo maszyny były zajęte.
Długo więc bardziej opłacało się aby nie wszystkie maszyny na hali pracowały i nie wszyscy opłaceni pracownicy rzeczywiście pracowali. Aż pewnego razu, ktoś w fabryce postanowił wdrożyć system zarządzania produkcją. Koszt był niemały, oprogramowanie trzeba było stworzyć na zamówienie, kupić sprzęt komputerowy, zadbać o sieć na terenie fabryki i przeszkolić z używania programu wszystkich pracowników. Czytaj dalej »
Klauzula OFFSET i FETCH w SQL 2012
Od wersji SQL 2012 ORDER BY zostało powiększone o klauzulę OFFSET. Pozwala ono stronicować dane sortowane w okręlsonym porządku. Zobacz następujący przykład:
USE TEMPDB CREATE TABLE TestNumber (ID INT) DECLARE @i INT=0WHILE @i<100
BEGIN
SET @i+=1
INSERT TestNumber VALUES (@i)
END SELECT ID FROM TestNumber
ORDER BY ID
OFFSET 50 ROWS FETCH NEXT 10 ROWS ONLY
W testowej tabelce jest 100 rekordów (liczby ID od 1 do 100). SELECT wyświetli tylko rekordy od 51 do 60:
- OFFSET mówi, że 50 pierwszych rekordów należy pominąć
- FETCH mówi ile tych rekordów należy pobrać.
Element FETCH można pominąć.
Limit 8060 B na rekord pominiety od SQL 2005.
Kiedy w SQL 200o tworzyłbyś taką tabelę:
CREATE TABLE LargeTable( x varchar(8000), y varchar(8000) )otrzymałbyś ostrzeżenie:
Warning: The table 'LargeTable’ has been created but its maximum row size (16025) exceeds the maximum number of bytes per row (8060). INSERT or UPDATE of a row in this table will fail if the resulting row length exceeds 8060 bytes.Rzeczywiście serwer mógł przechowywać wyłącznie rekordy o maksymalnym rozmiarze 8060B, jeśli zaś trzeba było używać dużych typów należało korzystać z typu text. Czytaj dalej »






























