【问题标题】:Create separators in sql query在sql查询中创建分隔符
【发布时间】:2021-02-12 16:55:33
【问题描述】:

是否有在 sql 查询中创建分隔符的选项?

EXECUTE ('
Select 
A 
from dbo.Table') AT BAZ_PROD

   A    |
---------
92759.4 |

我想看:92 759.4 而不是 92759.4

我试过了

EXECUTE ('
Select 
FORMAT(A, ''###,###,###.##'') AS A
from dbo.Table') AT BAZ_PROD

并且有错误:

链接服务器“BAZ_PROD”的 OLE DB 提供程序“OraOLEDB.Oracle”返回消息“ORA-00904:”FORMAT“:无效 ID”。

【问题讨论】:

  • 这种事情应该在你的表现层中完成。因此,如果您要导出到 excel 或在 tableau 中显示它,您可以在那里对其进行格式化。
  • 你的错误是Oracle?但是您已标记 SQL Server... 请确保您的标记正确。

标签: sql-server


【解决方案1】:

你可以使用 TO_CHAR 函数,你可以在https://www.techonthenet.com/oracle/functions/to_char.php找到一些很好的例子

对于格式化数字,您也可以查看this 答案。

【讨论】:

    【解决方案2】:

    在 SQL Server 中,您必须使用 FORMAT 函数来执行此操作。

    SELECT FORMAT(92759.4, '00 000.00')
    

    剩下的问题将是前导0

    但是,因为这是一个表面问题,所以您不能在 RDBMS 级别执行此操作,而是在应用程序级别执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-07
      • 2013-08-30
      • 1970-01-01
      • 2021-09-12
      相关资源
      最近更新 更多