sql - 在 select 中添加 "-"而不是空格

标签 sql sql-server sql-server-2008

有没有办法在我的选择语句中添加“-”护理符而不是下面列中的规范:

SPACE(([Depth]-1)*4) + [OrgUnitName] AS [OrgUnitName],

所以现在它为无论有多少深度都添加了空间。是否可以添加“-”字符而不是空格?数据是位置,因此单词之间也可以有空格。

所以对于:

Test
 Test2
  Test23

我想要:

Test
-Test2
--Test23

最佳答案

来自 REPLICATE 的文档:

REPLICATE ( string_expression ,integer_expression )

那就是

REPLICATE ('-', ([Depth]-1)*4) + [OrgUnitName] AS [OrgUnitName],

就你的情况而言。

但是,我更喜欢返回 Depth 作为输出列,并使用代码格式化破折号。根据我的经验,SQL 查询中尽可能少的格式和逻辑可以提高可维护性。

关于sql - 在 select 中添加 "-"而不是空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12430254/

相关文章:

sql - 删除重复记录保留原始记录

sql-server - SQL Server - 对 View 数据的更改跟踪

java - 使用 JDBC 的参数化查询

php - 通过给定字段通过 UNION 组加入 2 个表,并仅获取该组的最新信息

mysql - 如何修改现有表以添加时区

sql - 从所有行中选择时如何选择数据库中每条记录的前 6 条记录

sql - 在 SQL 中插入空白行数

sql - 如何检测哪些存储过程更新或插入某个表?

MySQL填充所有valid_to和modified_by列,知道所有valid_from和created_by值

mysql - 是否可以将数组添加到 sql 列?