2012-05-23 5 views
0

Привет всем У меня возникли вопросы по поводу Sql Server(Len) и Mysql(Length)SQL-Mysql длина варьируется

Я написал пример сценария в Sql Server & Mysql следующим

Sql ---->select len('Experts ') 

Result ---->7 

MySql ---->select Length('Experts ') 

Result ---->8 

Теперь я только что сделал изменения в запросе следующим образом

Sql ---->select len(' Experts') 

Result ---->8 

MySql ---->select Length(' Experts') 

Result ---->8 

Но почему он отображает разные результаты в моей первой очереди ry ..

ответ

2

Функция SQL Server LEN исключает пробелы, указанные в документации: http://msdn.microsoft.com/en-us/library/ms190329.aspx.

Если вы хотите использовать длину с пробелами, попробуйте LEN(<source> + 'x') - 1, где <source> - это то, что вы пытаетесь получить.

+0

Так что 'Sql' не заботится о пространствах после строки, но будет заботиться о пространствах перед строкой. – Dotnet

+0

@User Да. Он обрабатывает префиксы пространства как значимые и пространственные суффиксы как несущественные. –

+0

@ DanielRenshaw - Если пространственные суффиксы несущественны, что происходит, когда он становится префиксом некоторого 'Y'? Будет ли это «X» + «Y» = «XY»? –

Смежные вопросы