• aaa

    Poznávačka krás Maďarska - toulání po severu 

  • CAT700

    Non-stop adventure závod přes Katalánsko - z Pyrenejí až k moři

  • Toulání Šumavou
    Toulání Šumavou

    Extrémní non-stop MTB závod

  • 1000 miles
    1000 miles

    Non-stop extrémní adventure závod napříč Československem by Jan Kopka

  • Bohemia Divide 2019

    Non-stop bike packing závod 700km dlouhý z nejjižnějšího do nejsevernějšího místa ČR 

A A A

Touto procedurou lze zjistit existenci souboru. Procedura vrací hodnotu 1 = existuje soubor nebo 0 = neexistuje.

 

-- proměnné
DECLARE 
@FileName nvarchar(100),
@Exists int

SET @FileName = '\\server\directory\01.csv'

-- zjišťuje existenci souboru
EXEC master.dbo.xp_fileexist @FileName, @Exists OUTPUT

-- výsledek
SELECT CASE @Exists 
WHEN 1 THEN 'Soubor existuje'
WHEN 0 THEN 'Neexistuje'
END

 

Po havárii serveru a obnově systému ze zálohy zůstali databáze ve stavu Recovery Pending a nebylo možné je spravovat. Zjistil jsem, že problémem byl rozbouraný soubor s SQL logama. 

 

 

Uživatel, pod kterým spouštíte níže uvedené dotazy musí být členem SYSADMIN

 Nejprve je nutné povolit proceduru na serveru.  To bývá kvůli bezpečnosti defaultně vypnuté

-- povoleni procedury CDMSHELL

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO

 

Příkazem SUBSTRING lze vykopírovat část řetězce. První parametr příkazu udává první kopírovaný znak, druhý parametr počet znaků.

 

DECLARE @text nvarchar(15) = 'Ahoj Čau Nazdar'

SELECT SUBSTRING(@text,6,3) AS Výsledek

 

Výsledek:

 

Občas se stane, že v selectovaných datech jsou skryty znaky pro formátování textu (odřádkování, tabulátory,..) To může být nevhodné pokud tato data exportujete do textového souboru, tisknete apod.

Jedná se hlavně o tyto znaky:

CHAR(9) - tabulátor
CHAR(10) - konec řádku (LF)
CHAR(13) - návrat vozíku (CR)

Lze to vyřešit tím, že znaky vymažeme pomocí funkci REPLACE (defacto je nahradíme za prázdnou hodnotu).

 

DECLARE @Text nvarchar(max)
SET @Text = 'Ahoj ' + CHAR(10) + CHAR(13) + 'Druhy radek'

SELECT REPLACE (REPLACE(@Text,CHAR(10),''),CHAR(13),'')

Původně to měla být kategorie o cestách, které podniknu na svém starém kole-dědkovi. Pak se mě název zalíbil a říkám si, že jednou budu taky dědek, vlastně syna už na to mám dost velkýho, a tak nadčasově tuto kategorii nechám pojmenovanou takto. Takže zde nalezneš zápisky z cest. 

Zde je můj blog o SQL. Je to takový můj tahák.

Moje poznámky z instalací

Search