首页 > 解决方案 > 计算字符串开头和结尾的空格(ASCII 码 32)

问题描述

我正在努力解决以下问题。我有一列包含此类数据:

'abbb ccc   '
'    aaa abbb ccc'
'abbb ccc   '
'   aaa abbb ccc   '
'   ccc'
'aaa abbb'

我想计算每个字符串左侧的空格数和右侧的空格数。

标签: sqlsql-serverstringtsql

解决方案


尝试使用LENLTRIM和的组合REVERSE

SELECT
    LEN(col) - LEN(LTRIM(col)) AS num_left,
    LEN(REVERSE(col)) - LEN(LTRIM(REVERSE(col))) AS num_right
FROM yourTable;

演示

正如@AaronDietz 在下面的评论中提到的那样,LEN实际上也修剪了右侧的空白。但LEN不影响前导空格。为了弥补这一点,我们可以反转字符串,然后使用LTRIM.


推荐阅读