Zobrazují se příspěvky se štítkemMS SQL. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemMS SQL. Zobrazit všechny příspěvky

pondělí 23. září 2019

Záloha databáze do souboru

Backup database [DbName] to disk = 'd:\Zálohy\DbName.bak'

pondělí 18. února 2019

MS SQL a FOR cyklus

MS SQL nemá konstrukci pro cyklus FOR. Namísto ní se podmínka rozepíše do cyklu WHILE. Například nějak takto:
declare @n int = 2
WHILE (@n > 0)
BEGIN
   print @n;
   set @n = @n-1;
END  

Zdroj:
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/while-transact-sql?view=sql-server-2017

pondělí 10. prosince 2018

Jak se chová funkce NULLIF

SQL:
declare @asdasd  nvarchar(50) -- NULL
select NULLIF(@asdasd, 'asdasd')
select NULLIF( 'asdasd', @asdasd)
select NULLIF( 'asdasd', 'asdasd')
Výsledek:
NULL
asdasd
NULL 

úterý 6. března 2018

Jak vyhledat záznam podle počátečního písmene bez ohledu na diakritiku nebo velikost písmene?

Řetězce v požadovaném sloupci např. Title je potřeba porovnávat CI (Case Insensitive) - bez ohledu na velikost, AI (Accent Insensitive) - bez ohledu na diakritiku.


SELECT *
FROM [dbo].[Company]
WHERE [Title] COLLATE Latin1_General_CI_AI LIKE 'c%'

Zdroj:
https://stackoverflow.com/questions/3578582/how-can-i-remove-accents-on-a-string
https://stackoverflow.com/questions/14400856/entity-framework-case-insensitive-contains

úterý 13. prosince 2016

Jmeniny aneb kdy má kdo svátek

Zdroje:
http://www.sklonovani-jmen.cz/kontakt
http://www.nasejmena.cz/nj/svatek.php
https://www.naplanuj-to.cz/kalendar-jmen/
PHP databáze - https://www.banan.cz/serialy/PHP-a-HTML/Vypsani-dnesniho-svatku-v-PHP-MySQL

MySQL databáze - http://www.studuju.cz/latka-1294 (Chyba na řádku (128, '7', '5', 'Stanisla'),)


Zajimavosti:
https://www.stream.cz/fenomen/572074-jmena-a-prijmeni

CjcId
je odkaz do encyklopedie CoJeCo.cz
http://www.cojeco.cz/index.php?detail=1&id_desc={CjcId}
http://www.cojeco.cz/index.php?detail=1&id_desc=388481

Vlastní MS SQL databáze

drop table Svatek;

CREATE TABLE Svatek (
  Id int NOT NULL identity(1,1) primary key,
  Name nvarchar(30) NOT NULL default '',
  [TypeId] smallint NOT NULL default '0', -- 0-Státní svátek, 1-Žena, 2-Muž
  [Day] smallint  NOT NULL default '0',
  [Month] smallint NOT NULL default '0',
  StreemId bigint default NULL,
  CjcId bigint default NULL
) 

SET IDENTITY_INSERT Svatek ON;

--
-- Vypisuji data pro tabulku 'Svatek'
--

INSERT INTO svatek (Id, Name, [TypeId], [Day], [Month], StreemId, CjcId) VALUES
(1, N'Nový rok', 0, 1, 1, NULL, 387964),
(2, N'Karina', 1, 2, 1, NULL, 387719),
(3, N'Radmila', 1, 3, 1, NULL, 387720),
(4, N'Diana', 1, 4, 1, NULL, 387721),
(5, N'Dalimil', 2, 5, 1, NULL, 387722),
(6, N'Tři králové', 0, 6, 1, NULL, 387999),
(7, N'Vilma', 1, 7, 1, NULL, 387723),
(8, N'Čestmír', 2, 8, 1, NULL, 387726),
(9, N'Vladan', 2, 9, 1, NULL, 387727),
(10, N'Břetislav', 2, 10, 1, NULL, 387728),
(11, N'Bohdana', 1, 11, 1, NULL, 387729),
(12, N'Pravoslav', 2, 12, 1, NULL, 387730),
(13, N'Edita', 1, 13, 1, NULL, 387731),
(14, N'Radovan', 2, 14, 1, NULL, 387732),
(15, N'Alice', 1, 15, 1, NULL, 387733),
(16, N'Ctirad', 2, 16, 1, NULL, 387734),
(17, N'Drahoslav', 2, 17, 1, NULL, 387735),
(18, N'Vladislav', 2, 18, 1, NULL, 387739),
(19, N'Doubravka', 1, 19, 1, NULL, 387741),
(20, N'Ilona', 1, 20, 1, NULL, 387742),
(21, N'Běla', 1, 21, 1, NULL, 387744),
(22, N'Slavomír', 2, 22, 1, NULL, 387745),
(23, N'Zdeněk', 2, 23, 1, NULL, 387746),
(24, N'Milena', 1, 24, 1, NULL, 387747),
(25, N'Miloš', 2, 25, 1, NULL, 387756),
(26, N'Zora', 1, 26, 1, NULL, 387757),
(27, N'Ingrid', 1, 27, 1, NULL, 387758),
(28, N'Otýlie', 1, 28, 1, NULL, 387759),
(29, N'Zdislava', 1, 29, 1, NULL, 387760),
(30, N'Robin', 2, 30, 1, NULL, 387761),
(31, N'Marika', 1, 31, 1, NULL, 387763),
(32, N'Hynek', 2, 1, 2, NULL, 387766),
(33, N'Nela', 1, 2, 2, NULL, 387780),
(34, N'Blažej', 2, 3, 2, NULL, 387781),
(35, N'Jarmila', 1, 4, 2, NULL, 387782),
(36, N'Dobromila', 1, 5, 2, NULL, 387783),
(37, N'Vanda', 1, 6, 2, NULL, 387784),
(38, N'Veronika', 1, 7, 2, NULL, 387785),
(39, N'Milada', 1, 8, 2, NULL, 387786),
(40, N'Apolena', 1, 9, 2, NULL, 387787),
(41, N'Mojmír', 2, 10, 2, NULL, 388252),
(42, N'Božena', 1, 11, 2, NULL, 388253),
(43, N'Slavěna', 1, 12, 2, NULL, 388254),
(44, N'Věnceslav', 2, 13, 2, NULL, 388255),
(45, N'Valentýn', 2, 14, 2, NULL, 388256),
(46, N'Jiřina', 1, 15, 2, NULL, 388257),
(47, N'Ljuba', 1, 16, 2, NULL, 388258),
(48, N'Miloslava', 1, 17, 2, NULL, 388259),
(49, N'Gizela', 1, 18, 2, NULL, 388260),
(50, N'Patrik', 2, 19, 2, NULL, 388333),
(51, N'Oldřich', 2, 20, 2, NULL, 388334),
(52, N'Lenka', 1, 21, 2, NULL, 52619),
(53, N'Petr', 2, 22, 2, NULL, 72222),
(54, N'Svatopluk', 2, 23, 2, NULL, 388335),
(55, N'Matěj', 2, 24, 2, NULL, 388336),
(56, N'Liliana', 1, 25, 2, NULL, 388337),
(57, N'Dorota', 1, 26, 2, NULL, 388338),
(58, N'Alexandr', 2, 27, 2, NULL, 388339),
(59, N'Lumír', 2, 28, 2, NULL, 388340),
(60, N'Horymír', 2, 29, 2, NULL, 390124),
(61, N'Bedřich', 2, 1, 3, NULL, 388471),
(62, N'Anežka', 1, 2, 3, NULL, 388472),
(63, N'Kamil', 2, 3, 3, NULL, 388473),
(64, N'Stela', 1, 4, 3, NULL, 388474),
(65, N'Kazimír', 2, 5, 3, NULL, 388478),
(66, N'Miroslav', 2, 6, 3, NULL, 388479),
(67, N'Tomáš', 2, 7, 3, NULL, 98154),
(68, N'Gabriela', 1, 8, 3, NULL, 388480),
(69, N'Františka', 1, 9, 3, NULL, 388481),
(70, N'Viktorie', 1, 10, 3, NULL, 388482),
(71, N'Anděla', 1, 11, 3, NULL, 388483),
(72, N'Řehoř', 2, 12, 3, NULL, 83461),
(73, N'Růžena', 1, 13, 3, NULL, 388484),
(75, N'Ida', 1, 15, 3, NULL, 388488),
(77, N'Vlastimil', 2, 17, 3, NULL, 388554),
(78, N'Eduard', 2, 18, 3, NULL, 388555),
(79, N'Josef', 2, 19, 3, NULL, 41725),
(80, N'Světlana', 1, 20, 3, NULL, 388581),
(81, N'Radek', 2, 21, 3, NULL, 388598),
(82, N'Leona', 1, 22, 3, NULL, 388599),
(83, N'Ivona', 1, 23, 3, NULL, 388600),
(84, N'Gabriel', 2, 24, 3, NULL, 388618),
(85, N'Marián', 2, 25, 3, NULL, 388619),
(86, N'Emanuel', 2, 26, 3, NULL, 388620),
(87, N'Dita', 1, 27, 3, NULL, 388621),
(88, N'Soňa', 1, 28, 3, NULL, 388622),
(89, N'Taťána', 1, 29, 3, NULL, 388624),
(90, N'Arnošt', 2, 30, 3, NULL, 388625),
(91, N'Kvido', 2, 31, 3, NULL, 388626),
(92, N'Hugo', 2, 1, 4, NULL, 388657),
(93, N'Erika', 1, 2, 4, NULL, 388658),
(94, N'Richard', 2, 3, 4, NULL, 388660),
(95, N'Ivana', 1, 4, 4, NULL, 388661),
(96, N'Miroslava', 1, 5, 4, NULL, 388663),
(97, N'Vendula', 1, 6, 4, NULL, 388664),
(99, N'Ema', 1, 8, 4, NULL, 388743),
(100, N'Dušan', 2, 9, 4, NULL, 388670),
(101, N'Darja', 1, 10, 4, NULL, 388671),
(102, N'Izabela', 1, 11, 4, NULL, 388673),
(103, N'Julius', 2, 12, 4, NULL, 388674),
(104, N'Aleš', 2, 13, 4, NULL, 388675),
(105, N'Vincenc', 2, 14, 4, NULL, 388676),
(106, N'Anastázie', 1, 15, 4, NULL, 388678),
(107, N'Irena', 1, 16, 4, NULL, 388744),
(108, N'Rudolf', 2, 17, 4, NULL, 388745),
(109, N'Valérie', 1, 18, 4, NULL, 388746),
(110, N'Rostislav', 2, 19, 4, NULL, 388747),
(111, N'Marcela', 1, 20, 4, NULL, 388748),
(112, N'Alexandra', 1, 21, 4, NULL, 388750),
(113, N'Evžénie', 1, 22, 4, NULL, 388751),
(114, N'Vojtěch', 2, 23, 4, NULL, 388752),
(115, N'Jiří', 2, 24, 4, NULL, 41453),
(116, N'Marek', 2, 25, 4, NULL, 388753),
(117, N'Oto', 2, 26, 4, NULL, 388754),
(118, N'Jaroslav', 2, 27, 4, NULL, 40551),
(119, N'Vlastislav', 2, 28, 4, NULL, 388755),
(120, N'Robert', 2, 29, 4, NULL, 388757),
(121, N'Blahoslav', 2, 30, 4, NULL, 388758),
(122, N'Svátek práce', 0, 1, 5, NULL, NULL),
(123, N'Zikmund', 2, 2, 5, NULL, 388759),
(124, N'Alexej', 2, 3, 5, NULL, 388830),
(125, N'Květoslav', 2, 4, 5, NULL, 388831),
(126, N'Klaudie', 1, 5, 5, NULL, 388832),
(127, N'Radoslav', 2, 6, 5, NULL, 388833),
(128, N'Stanislav', 2, 7, 5, NULL, 388834),
(129, N'Statní svátek', 0, 8, 5, NULL, NULL),
(130, N'Ctibor', 2, 9, 5, NULL, 388835),
(131, N'Blažena', 1, 10, 5, NULL, 388840),
(132, N'Svatava', 1, 11, 5, NULL, 388841),
(133, N'Pankrác', 2, 12, 5, NULL, 388842),
(134, N'Servác', 2, 13, 5, NULL, 388843),
(135, N'Bonifác', 2, 14, 5, NULL, 388844),
(136, N'Žofie', 1, 15, 5, NULL, 388623),
(137, N'Přemysl', 2, 16, 5, NULL, 388845),
(138, N'Aneta', 1, 17, 5, NULL, 388846),
(139, N'Nataša', 1, 18, 5, NULL, 388847),
(140, N'Ivo', 2, 19, 5, NULL, 388848),
(141, N'Zbyšek', 2, 20, 5, NULL, 388849),
(142, N'Monika', 1, 21, 5, NULL, 388850),
(143, N'Emil', 2, 22, 5, NULL, 388851),
(144, N'Vladimír', 2, 23, 5, NULL, 388815),
(145, N'Jana', 1, 24, 5, NULL, 388818),
(146, N'Viola', 1, 25, 5, NULL, 388821),
(147, N'Filip', 2, 26, 5, NULL, 388824),
(148, N'Valdemar', 2, 27, 5, NULL, 388825),
(149, N'Vilém', 2, 28, 5, NULL, 388826),
(151, N'Ferdinand', 2, 30, 5, NULL, 388828),
(152, N'Kamila', 1, 31, 5, NULL, 388829),
(153, N'Laura', 1, 1, 6, NULL, 389026),
(154, N'Jarmil', 2, 2, 6, NULL, 389027),
(155, N'Tamara', 1, 3, 6, NULL, 389028),
(156, N'Dalibor', 2, 4, 6, NULL, 389029),
(157, N'Dobroslav', 2, 5, 6, NULL, 389030),
(158, N'Norbert', 2, 6, 6, NULL, 389031),
(160, N'Medard', 2, 8, 6, NULL, 389034),
(161, N'Stanislava', 1, 9, 6, NULL, 389035),
(162, N'Gita', 1, 10, 6, NULL, 389036),
(163, N'Bruno', 2, 11, 6, NULL, 389037),
(164, N'Antonie', 1, 12, 6, NULL, 389038),
(165, N'Antonín', 2, 13, 6, NULL, 389039),
(166, N'Roland', 2, 14, 6, NULL, 389040),
(167, N'Vít', 2, 15, 6, NULL, 389041),
(168, N'Zbyněk', 2, 16, 6, NULL, 389042),
(169, N'Adolf', 2, 17, 6, NULL, 389043),
(170, N'Milan', 2, 18, 6, NULL, 389044),
(171, N'Leoš', 2, 19, 6, NULL, 389045),
(172, N'Květa', 1, 20, 6, NULL, 389046),
(173, N'Alois', 2, 21, 6, NULL, 389047),
(174, N'Pavla', 1, 22, 6, NULL, 389048),
(175, N'Zdeňka', 1, 23, 6, NULL, 389049),
(176, N'Jan', 2, 24, 6, NULL, 40266),
(177, N'Ivan', 2, 25, 6, NULL, 39702),
(178, N'Adriana', 1, 26, 6, NULL, 389050),
(179, N'Ladislav', 2, 27, 6, NULL, 51272),
(180, N'Lubomír', 2, 28, 6, NULL, 389051),
(182, N'Šárka', 1, 30, 6, NULL, 389052),
(183, N'Jaroslava', 1, 1, 7, NULL, 389053),
(184, N'Patricie', 1, 2, 7, NULL, 389054),
(185, N'Radomír', 2, 3, 7, NULL, 389055),
(186, N'Prokop', 2, 4, 7, NULL, 389056),
(187, N'Státní svátek', 0, 5, 7, NULL, NULL),
(188, N'Státní svátek', 0, 6, 7, NULL, NULL),
(189, N'Bohuslava', 1, 7, 7, NULL, 389059),
(190, N'Nora', 1, 8, 7, NULL, 389060),
(191, N'Drahoslava', 1, 9, 7, NULL, 389061),
(193, N'Olga', 1, 11, 7, NULL, 389097),
(194, N'Bořek', 2, 12, 7, NULL, 389098),
(195, N'Markéta', 1, 13, 7, NULL, 57033),
(196, N'Karolína', 1, 14, 7, NULL, 389099),
(197, N'Jindřich', 2, 15, 7, NULL, 41340),
(198, N'Luboš', 2, 16, 7, NULL, 389100),
(199, N'Martina', 1, 17, 7, NULL, 389101),
(200, N'Drahomíra', 1, 18, 7, NULL, 389155),
(201, N'Čeněk', 2, 19, 7, NULL, 389156),
(202, N'Ilja', 1, 20, 7, NULL, 389157),
(203, N'Vítězslav', 2, 21, 7, NULL, 389158),
(204, N'Magdaléna', 1, 22, 7, NULL, 55652),
(205, N'Libor', 2, 23, 7, NULL, 389160),
(206, N'Kristýna', 1, 24, 7, NULL, 49220),
(207, N'Jakub', 2, 25, 7, NULL, 389161),
(208, N'Anna', 1, 26, 7, NULL, 389162),
(209, N'Věroslav', 2, 27, 7, NULL, 389163),
(210, N'Viktor', 2, 28, 7, NULL, 389164),
(211, N'Marta', 1, 29, 7, NULL, 389165),
(212, N'Bořivoj', 2, 30, 7, NULL, 389166),
(213, N'Ignác', 2, 31, 7, NULL, 389167),
(214, N'Oskar', 2, 1, 8, NULL, 389168),
(215, N'Gustav', 2, 2, 8, NULL, 389169),
(216, N'Miluše', 1, 3, 8, NULL, 389170),
(217, N'Dominik', 2, 4, 8, NULL, 389171),
(218, N'Kristián', 2, 5, 8, NULL, 389172),
(219, N'Oldřiška', 1, 6, 8, NULL, 389173),
(220, N'Lada', 1, 7, 8, NULL, 389174),
(221, N'Soběslav', 2, 8, 8, NULL, 389175),
(222, N'Roman', 2, 9, 8, NULL, 389176),
(223, N'Vavřinec', 2, 10, 8, NULL, 389177),
(224, N'Zuzana', 1, 11, 8, NULL, 391856),
(225, N'Klára', 1, 12, 8, NULL, 389133),
(226, N'Alena', 1, 13, 8, NULL, 389179),
(227, N'Alan', 2, 14, 8, NULL, 389180),
(228, N'Hana', 1, 15, 8, NULL, 32045),
(229, N'Jáchym', 2, 16, 8, NULL, 389181),
(230, N'Petra', 1, 17, 8, NULL, 388490),
(231, N'Helena', 1, 18, 8, NULL, 32771),
(232, N'Ludvík', 2, 19, 8, NULL, 54919),
(233, N'Bernard', 2, 20, 8, NULL, 389183),
(234, N'Johana', 1, 21, 8, NULL, 389184),
(235, N'Bohuslav', 2, 22, 8, NULL, 389185),
(236, N'Sandra', 1, 23, 8, NULL, 389186),
(237, N'Bartoloměj', 2, 24, 8, NULL, 389187),
(238, N'Radim', 2, 25, 8, NULL, 389188),
(239, N'Luděk', 2, 26, 8, NULL, 389189),
(240, N'Otakar', 2, 27, 8, NULL, 389190),
(241, N'Augustýn', 2, 28, 8, NULL, 389191),
(242, N'Evelína', 1, 29, 8, NULL, 389192),
(243, N'Vladěna', 1, 30, 8, NULL, 389193),
(244, N'Pavlína', 1, 31, 8, NULL, NULL),
(246, N'Adéla', 1, 2, 9, NULL, 389196),
(247, N'Bronislav', 2, 3, 9, NULL, 389197),
(248, N'Jindřiška', 1, 4, 9, NULL, 389198),
(249, N'Boris', 2, 5, 9, NULL, 389199),
(250, N'Boleslav', 2, 6, 9, NULL, 389200),
(251, N'Regína', 1, 7, 9, NULL, 389201),
(252, N'Mariana', 1, 8, 9, NULL, 389202),
(253, N'Daniela', 1, 9, 9, NULL, 389203),
(254, N'Irma', 1, 10, 9, NULL, 389204),
(255, N'Denisa', 1, 11, 9, NULL, 389205),
(256, N'Marie', 1, 12, 9, NULL, 56964),
(257, N'Lubor', 2, 13, 9, NULL, 389206),
(258, N'Radka', 1, 14, 9, NULL, 389207),
(259, N'Jolana', 1, 15, 9, NULL, 389208),
(260, N'Ludmila', 1, 16, 9, NULL, 389209),
(261, N'Naděžda', 1, 17, 9, NULL, 389210),
(262, N'Kryštof', 2, 18, 9, NULL, 49693),
(263, N'Zita', 1, 19, 9, NULL, 389211),
(264, N'Oleg', 2, 20, 9, NULL, 389212),
(265, N'Matouš', 2, 21, 9, NULL, 389213),
(266, N'Darina', 1, 22, 9, NULL, 389214),
(267, N'Berta', 1, 23, 9, NULL, 389215),
(268, N'Jaromír', 2, 24, 9, NULL, 388505),
(269, N'Zlata', 1, 25, 9, NULL, 389216),
(270, N'Andrea', 1, 26, 9, NULL, 389217),
(271, N'Jonáš', 2, 27, 9, NULL, 389218),
(272, N'Václav', 2, 28, 9, NULL, 101680),
(273, N'Michal', 2, 29, 9, NULL, 59696),
(274, N'Jeroným', 2, 30, 9, NULL, 389219),
(275, N'Igor', 2, 1, 10, NULL, 389220),
(277, N'Bohumil', 2, 3, 10, NULL, 389223),
(278, N'František', 2, 4, 10, NULL, 27768),
(279, N'Eliška', 1, 5, 10, NULL, 389224),
(280, N'Hanuš', 2, 6, 10, NULL, 388662),
(281, N'Justýna', 1, 7, 10, NULL, 389225),
(282, N'Věra', 1, 8, 10, NULL, 389226),
(284, N'Marina', 1, 10, 10, NULL, 389229),
(285, N'Andrej', 2, 11, 10, NULL, 389230),
(286, N'Marcel', 2, 12, 10, NULL, 388749),
(287, N'Renáta', 1, 13, 10, NULL, 389231),
(288, N'Agáta', 1, 14, 10, NULL, 389232),
(289, N'Tereza', 1, 15, 10, NULL, 389233),
(290, N'Havel', 2, 16, 10, NULL, 389234),
(291, N'Hedvika', 1, 17, 10, NULL, 32642),
(292, N'Lukáš', 2, 18, 10, NULL, 55013),
(293, N'Michaela', 1, 19, 10, NULL, 389235),
(294, N'Vendelín', 2, 20, 10, NULL, 389236),
(295, N'Brigita', 1, 21, 10, NULL, 389237),
(296, N'Sabina', 1, 22, 10, NULL, 389238),
(297, N'Teodor', 2, 23, 10, NULL, 389239),
(298, N'Nina', 1, 24, 10, NULL, 389240),
(299, N'Beáta', 1, 25, 10, NULL, 389241),
(300, N'Erik', 2, 26, 10, NULL, 388659),
(302, N'Státní svátek', 0, 28, 10, NULL, NULL),
(303, N'Silvie', 1, 29, 10, NULL, 389244),
(304, N'Tadeáš', 2, 30, 10, NULL, 389245),
(305, N'Štěpánka', 1, 31, 10, NULL, 389246),
(306, N'Felix', 2, 1, 11, NULL, 387854),
(307, N'Památka zesnulých', 0, 2, 11, NULL, NULL),
(308, N'Hubert', 2, 3, 11, NULL, 387855),
(309, N'Karel', 2, 4, 11, NULL, 387856),
(310, N'Miriam', 1, 5, 11, NULL, 387857),
(311, N'Liběna', 1, 6, 11, NULL, 387858),
(312, N'Saskie', 1, 7, 11, NULL, 387860),
(313, N'Bohumír', 2, 8, 11, NULL, 387861),
(314, N'Bohdan', 2, 9, 11, NULL, 387862),
(315, N'Evžen', 2, 10, 11, NULL, 387863),
(316, N'Martin', 2, 11, 11, NULL, 57200),
(317, N'Benedikt', 2, 12, 11, NULL, 387864),
(318, N'Tibor', 2, 13, 11, NULL, 387865),
(319, N'Sáva', 1, 14, 11, NULL, 387866),
(320, N'Leopold', 2, 15, 11, NULL, 387867),
(321, N'Otmar', 2, 16, 11, NULL, 387868),
(322, N'Mahulena', 1, 17, 11, NULL, 389248),
(323, N'Romana', 1, 18, 11, NULL, 387869),
(324, N'Alžběta', 1, 19, 11, NULL, 387870),
(325, N'Nikola', 1, 20, 11, NULL, 387871),
(326, N'Albert', 2, 21, 11, NULL, 387872),
(327, N'Cecílie', 1, 22, 11, NULL, 387917),
(328, N'Klement', 2, 23, 11, NULL, 387918),
(329, N'Emílie', 1, 24, 11, NULL, 387919),
(330, N'Kateřina', 1, 25, 11, NULL, 387920),
(331, N'Artur', 2, 26, 11, NULL, 387921),
(332, N'Xenie', 1, 27, 11, NULL, 107084),
(333, N'René', 2, 28, 11, NULL, 387692),
(334, N'Zina', 1, 29, 11, NULL, 387693),
(335, N'Ondřej', 2, 30, 11, NULL, 67976),
(336, N'Iva', 1, 1, 12, NULL, 387694),
(337, N'Blanka', 1, 2, 12, NULL, 387695),
(338, N'Svatoslav', 2, 3, 12, NULL, 387696),
(339, N'Barbora', 1, 4, 12, NULL, 387697),
(340, N'Jitka', 1, 5, 12, NULL, 41497),
(341, N'Mikuláš', 1, 6, 12, NULL, 59914),
(343, N'Květoslava', 1, 8, 12, NULL, 387699),
(344, N'Vratislav', 2, 9, 12, NULL, 387700),
(345, N'Julie', 1, 10, 12, NULL, 387701),
(346, N'Dana', 1, 11, 12, NULL, 387702),
(347, N'Simona', 1, 12, 12, NULL, 387703),
(348, N'Lucie', 1, 13, 12, NULL, 54854),
(349, N'Lýdie', 1, 14, 12, NULL, 387704),
(351, N'Albína', 1, 16, 12, NULL, 387706),
(352, N'Daniel', 2, 17, 12, NULL, 387707),
(353, N'Miloslav', 2, 18, 12, NULL, 387708),
(354, N'Ester', 1, 19, 12, NULL, 387709),
(355, N'Dagmar', 1, 20, 12, NULL, 387710),
(356, N'Natálie', 1, 21, 12, NULL, 387711),
(357, N'Šimon', 2, 22, 12, NULL, 387712),
(358, N'Vlasta', 3, 23, 12, NULL, 387713),
(359, N'Vánoce', 0, 24, 12, NULL, 102142),
(360, N'1.svátek vánoční', 0, 25, 12, NULL, NULL),
(361, N'2.svátek vánoční', 0, 26, 12, NULL, NULL),
(362, N'Žaneta', 1, 27, 12, NULL, 387715),
(363, N'Bohumila', 1, 28, 12, NULL, 387716),
(364, N'Judita', 1, 29, 12, NULL, 387717),
(365, N'David', 2, 30, 12, NULL, 18162),
(366, N'Silvestr', 1, 31, 12, NULL, 387718),
(367, N'Adam', 2, 24, 12, NULL, 387714),
(368, N'Eva', 1, 24, 12, NULL, 25213),
(369, N'Radana', 1, 15, 12, NULL, 387705),
(370, N'Radan', 2, 15, 12, NULL, NULL),
(371, N'Ambrož', 2, 7, 12, NULL, 387922),
(372, N'Benjamín', 2, 7, 12, NULL, 387698),
(373, N'Šarlota', 1, 27, 10, NULL, 389242),
(374, N'Zoe', 1, 27, 10, NULL, 389243),
(375, N'Štefan', 2, 9, 10, NULL, 389227),
(376, N'Sára', 1, 9, 10, NULL, 389228),
(377, N'Olívie', 1, 2, 10, NULL, 389221),
(378, N'Oliver', 2, 2, 10, NULL, 389222),
(379, N'Linda', 1, 1, 9, NULL, 389194),
(380, N'Samuel', 2, 1, 9, NULL, 389195),
(381, N'Libuše', 1, 10, 7, NULL, 53237),
(382, N'Amálie', 1, 10, 7, NULL, 389062),
(383, N'Petr', 2, 29, 6, NULL, 72222),
(384, N'Pavel', 2, 29, 6, NULL, 71199),
(385, N'Iveta', 1, 7, 6, NULL, 389032),
(386, N'Slavoj', 2, 7, 6, NULL, 389033),
(387, N'Rút', 1, 14, 3, NULL, 388487),
(388, N'Matylda', 1, 14, 3, NULL, 388486),
(389, N'Elena', 1, 16, 3, NULL, 388551),
(390, N'Herbert', 2, 16, 3, NULL, 388552),
(391, N'Maxmilián', 2, 29, 5, NULL, 389247),
(392, N'Maxim', 2, 29, 5, NULL, 388827),
(393, N'Heřman', 2, 7, 4, NULL, 388666),
(394, N'Hermína', 1, 7, 4, NULL, 388667);

čtvrtek 24. listopadu 2016

ChangeScript - Přidání procedury pokud neexistuje

If  exists(SELECT * FROM sys.procedures WHERE name = N'Cpy_Search')
begin
 DROP PROCEDURE [dbo].[Cpy_Search]
end;
BEGIN
 exec('CREATE Procedure Cpy_Search
                 @CompanyId as int,
                 @Term as nvarchar(60)
                AS begin
                 DECLARE @Pattern nvarchar(62)
                 SELECT @Pattern = ''%'' + @Term + ''%'';
                     SELECT
                  Id,
                  Title
                 FROM [Company]
                 WHERE
             AgendaId = @CompanyId
                 AND (
                  Title COLLATE Latin1_general_CI_AI Like @Pattern  COLLATE Latin1_general_CI_AI
                  OR
                  IdentificationNumber LIKE @Pattern
                  OR
                  VatIdentificationNumber LIKE @Pattern
                 )
                END;')
           END;



Zdroj:
http://stackoverflow.com/questions/2072086/how-to-check-if-a-stored-procedure-exists-before-creating-it

středa 9. listopadu 2016

Select Insert Into table


SQL
INSERT INTO dbo.[Company2CompanyTypes] ([CompanyRefId], [CompanyTypesRefId])
SELECT ANU.CompanyId, 2 AS CompanyTypeId FROM AspNetUsers ANU
INNER JOIN Company C ON (ANU.CompanyId = C.Id)
UNION
SELECT ANU.CompanyId, 3 AS CompanyTypeId FROM AspNetUsers ANU
INNER JOIN Company C ON (ANU.CompanyId = C.Id)

Zdroj:
http://www.w3schools.com/sql/sql_insert_into_select.asp

čtvrtek 22. září 2016

SQL - negace příznaku


update CATALOGUE_ITEMS SET IS_Active = ~IS_DELETED from CATALOGUE_ITEMS


nebo druhá varianta

UPDATE CATALOGUE_ITEMS
SET IS_ACTIVE = case when IS_DELETED = 1 then 0 else 1 end;


Zdroj:
http://stackoverflow.com/questions/177762/boolean-not-in-t-sql-not-working-on-bit-datatype

čtvrtek 11. srpna 2016

SQL Change script

Pokud tabulka 'Product' neobsahuje sloupec 'Amount' tak se provede jeho přidání

IF NOT EXISTS(SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[Product]') AND name = N'Amount')
BEGIN 
ALTER TABLE dbo.Product ADD
Amount decimal(10, 4) NULL;
END

středa 23. prosince 2015

MS SQL - odstranění konce řádku ve stringovém sloupci

SELECT 
      REPLACE(REPLACE([url], CHAR(13), ''), CHAR(10), '')
  FROM [dbo].[adresar]

Poznámka
Tento postup ale nelze použít na sloupce typu text. (Argument data type text is invalid for argument 1 of replace function.)

Zdroj:
http://stackoverflow.com/questions/951518/replace-a-newline-in-tsql

pondělí 12. října 2015

MS SQL vs. MySQL



Sloupec v MySQL který povoluje ukládat jen hodnoty z výčtu

[mycol] set('1','2','3','4','5','6') default NULL,


Alternativní zápis pro MS SQL který umožňuje také pouze hodnoty z výčtu

Create table [enum_tbl] (
[enum_nr] tinyint NOT NULL CHECK (enum_nr IN('1','2','3','4','5','6','7','8','9','10'))
)

Create table [enum_tbl2] (
[enum_nr] tinyint NULL CHECK (enum_nr IN('1','2','3','4','5','6','7','8','9','10'))
)


Problém při přepisu aplikace z MySQL na MS SQL je v tom že pokud používáte UTF-8
tak každá stringová hodnota pro MS SQL musí obsahovat prefix N'hodnota'.
Čimž se trochu komplikuje vytváření SQL příkazů.


REPLACE

'collate utf8_bin'  => ''
'int(11)' => 'int'
'varchar' => 'nvarchar'
'unsigned' =>''
'auto_increment' => 'IDENTITY(1,1)'

PHP 
'<?' => '<?php'
sqlsrv_query($objConn, $strQueryIN, $params)

NumRows
$options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$stmt = sqlsrv_query( $objConn, $strQueryIN, $params, $options);

Dotaz je potřeba volat s Options = Scrolable, aby bylo možné použít sql_num_rows

mysql_num_rows($result) =>

 if( sqlsrv_fetch( $result ) === false) {
     die( print_r( sqlsrv_errors(), true));
  }
    $REcount = sqlsrv_num_rows($result) !== false
? sqlsrv_get_field($result, 0)
: 0;


FetchArray
mysql_fetch_assoc($result) => sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)

Result
mysql_result($result, 0) => sqlsrv_get_field($result, 0)

if(sqlsrv_num_rows($result)===false) {

if ($REcount!==false)


Last Insert ID
mysql_insert_id() => mssql_insert_id()

 function mssql_insert_id() {
    $id = 0;
    $res = MSSQLQuery($conn, "SELECT @@identity AS id");
    if ($row = mssql_fetch_array($res, MSSQL_ASSOC)) {
        $id = $row["id"];
    }
    return $id;
  }


mysql_real_escape_string

function mssql_escape($str)
{
    if(get_magic_quotes_gpc())
    {
        $str= stripslashes($str);
    }
    return str_replace("'", "''", $str);
}

Zdroje:
http://php.net/manual/en/intro.mssql.php
http://stackoverflow.com/questions/1434298/sql-server-equivalent-to-mysql-enum-data-type
http://dev.mysql.com/doc/refman/5.0/en/set.html
http://stackoverflow.com/questions/12880567/equivalent-of-mysql-insert-id-for-ms-sql-server
http://stackoverflow.com/questions/2146546/mysql-real-escape-string-alternative-for-sql-server
http://php.net/manual/en/function.sqlsrv-fetch-array.php
http://php.net/manual/en/function.sqlsrv-num-rows.php
http://php.net/manual/en/function.sqlsrv-get-field.php


čtvrtek 8. října 2015

Povolení FileStream na MS SQL

Je potřeba zapsat tento script a spustit ho

EXEC sp_configure filestream_access_level, 2

RECONFIGURE
Nastavení pomocí SQL Server Configuration Manager_u nezabralo ani po restartu serveru

středa 28. ledna 2015

Nastavení aliasu na SQL serveru

Nastavení aliasu serveru se hodí pokud máte na různých počítačích různě pojmenované instance SQL serveru. Napříkald na produkčním serveru plný MS SQL Server a na vývojářských stanicích SQL Express.
Alias nastavíme pomocí SQL server configuration manager
alias: .\sqlexpress, port 1433, protokol: TCP/IP
Důležité je mít povolený protokol TCP/IP ve větvy Sql Server Network Configuration.

Zdroj:
http://www.mssqltips.com/sqlservertip/1620/how-to-setup-and-use-a-sql-server-alias/