Skip to content

The Dummy Programmer

Stories of daily programming

  • Home
  • My other dummy projects
  • Games
    • Space Y: An Asteroids clone
  • Services
    • What’s my user agent
    • What’s my IP address
  • About
  • Toggle search form

SQL Server LEN function return 0 passing a string with one space

Posted on February 2, 2019 By

Try to answer this riddle:

What is the result of this SQL Server query:

PRINT LEN(' ')

I would answer 1, since I passed a string with one space…. but it’s the wrong answer.

In this case the LEN function returns 0!

Why this behavior? If you check the Sql Server documentation at

https://docs.microsoft.com/en-us/sql/t-sql/functions/len-transact-sql?view=sql-server-2017

this is explicitly stated:

“Returns the number of characters of the specified string expression, excluding trailing blanks.”

So pay attention to this behavior, because you can easily slip into subtle bugs.

So to get the real string length considering the trailing space, you could do the following:

PRINT LEN(' ' + 'END') - 3

Now the result you obtain is, as expected, 1.

PS: one last curiosity…. in MySql this equivalent istruction:

SELECT LENGTH(' ')

returns 1.

 

 

Sql Server, Sql Server 2016

Post navigation

Previous Post: Samsung Galaxy TAB S2 endless reboot
Next Post: FuelPHP session storage

Related Posts

Delete all rows from all tables in a Sql Server database Sql Server
Sql Server: apply an aggregate function to fields values in a row Sql Server
Sql Server add constraint WITH NOCHECK Sql Server
Multi-tenant database in SQL Server Sql Server 2016
Sql Server Instant File Initialization Sql Server
Sql Server error: Cannot construct data type date, some of the arguments have values which are not valid. Sql Server

Search

Related posts

  • Search a string in stored procedures, functions and…
  • Sql Server: apply an aggregate function to fields…
  • One shot secret function: what's that?
  • Space Y: An Asteroids clone

Categories

  • .NET 6 (1)
  • .NET 7 (1)
  • AJAX (1)
  • Android (2)
  • Apache (4)
  • ASP.NET (9)
  • ASP.NET MVC (3)
  • Avalonia UI (1)
  • BCP (1)
  • Bitlocker (2)
  • C# (14)
  • CentOS (4)
  • ClosedXML (1)
  • CLR (1)
  • DNS (1)
  • Encryption (3)
  • Excel (2)
  • FuelPHP (3)
  • Games (2)
  • Google Chrome (1)
  • GSuite (1)
  • HTML (1)
  • Imagick (2)
  • Javascript (1)
  • Kindle (1)
  • LAMP (3)
  • Linux (7)
  • MariaDB (2)
  • Mathematics (2)
  • MySql (4)
  • NPOI (1)
  • Office 365 (1)
  • Perl (1)
  • PHP (6)
  • Programming (1)
  • Remote desktop (1)
  • SFTP (2)
  • Sockets (3)
  • Sql Server (20)
  • Sql Server 2016 (14)
  • Sql Server 2019 (1)
  • SSL (4)
  • Task scheduler (1)
  • Telerik ASP.NET AJAX (2)
  • The Dummy Programmer Chat (2)
  • Threading (5)
  • Tools (1)
  • TPL (3)
  • TypeScript (3)
  • Ubuntu (4)
  • Virtualization software (3)
  • Visual Studio (1)
  • Visual Studio Code (2)
  • VueJS (1)
  • Web fonts (1)
  • Web programming (6)
  • Windows (12)
  • Windows 10 (15)
  • Windows Forms (1)
  • Windows Server (6)

Copyright © 2024 The Dummy Programmer | Privacy Policy | Terms of use |

Powered by PressBook Masonry Dark

Manage Cookie Consent
This site doesn’t collect user personal data and doesn’t install profiling or analytical cookies, either its own or from third parties. Read our privacy policy for more info.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}