Tema: Re: MSSQL - Dinaminis string'o ilgis?
Autorius: Laimis
Data: 2009-06-26 00:01:26
bala nemate rašė:
> 
> rezultate gaunu, kad @DBName yra 
> 'master                             ', o ne 'master'
> 
> o gal iš principo ne tuo keliu einu...

Tikrai ne tuo... ;-)
Tai vadinama (ansi) blank/space padding (standartas),  ir norint 
išvengti aibės potencialių siurprizų, būtų labai naudinga atsiminti, kad 
  fiksuoto ilgio tekstiniai laukai (char ir kt.), bendru atveju (jei 
neįjungta kokia nors legacy, suderinamumo opcija)
yra būtent tokie -- fiksuoto ilgio ir „space padded“.
Kita vertus, tai negalioja kintamo ilgio laukams (varchar ir kt.).
O siurprizai gali būti labai netikėti ir bjaurūs:

INSERT INTO ... 'foo'

ir

SELECT .. WHERE bar = 'foo'

<nieko>, nes


'foo' <> 'foo      '