gpt4 book ai didi

mysql - SQL 以独立于数据库的方式填充零(LPAD)

转载 作者:行者123 更新时间:2023-11-29 01:12:01 25 4
gpt4 key购买 nike

我有如下表格:

code ---> INTEGER
name ---> CHAR

+------+------+
| code | name |
+------+------+
| 1 | aa |
| 2 | bb |
| 3 | cc |

我想以这种方式用左零填充代码字段:

SELECT LPAD(code,5,'0') FROM table;

此查询在 MySQL 中运行良好,但不适用于 SQL Server 和 PostgreSQL,我正在寻找适用于所有数据库或至少适用于这四种数据库的查询:

  • MySQL
  • PostgreSQL
  • MSSQL
  • Firebird

没有任何变化。有解决办法吗?

最佳答案

正确答案是“在您的客户端中执行此操作”。
RDBMS 级别没有单一的解决方案

但是,对于 SQL Server 2012(是的,下一个版本)、PostgreSQL 和 MySQL,您可以这样做:

RIGHT(CONCAT('00000', code), 5)
  • 较新的 PostgreSQL 有 LPAD,SQL Server 没有
  • 各种 FORMAT 函数不兼容(但又需要等到 SQL Server 2012)
  • RIGHT一致,但字符串连接运算符不同
  • SQL Server 2012新增CONCAT函数

关于mysql - SQL 以独立于数据库的方式填充零(LPAD),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8671484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com