If you run this script, the whitespace padded string is also returned along with the unpadded string.
CREATE TABLE #t ([col1] varchar(100))
INSERT INTO #t ([col1]) VALUES ('hello')
INSERT INTO #t ([col1]) VALUES ('hello ')
SELECT '''' + [col1] + '''', LEN([col1]), DATALENGTH([col1])
FROM #t
SELECT * FROM #t WHERE [col1] = 'hello'
SELECT * FROM #t WHERE [col1] = 'hello '
DROP TABLE #tPeoples arguments are why would want to save that and other such silly statements. My philosophy is, if I can think of it, it will happen! I can think of many cases where it would be beneficial to have the padding - dealing with old systems or external systems over which control is not possible.
Now I know that SQL Server does this stupid thing, I can account for it - but seriously - why?? It's stupid!
Oh and ANSI_PADDING - makes no odds!

No comments:
Post a Comment