SQL Server将字符串列的值连接为5个字符长
发布时间:2020-05-23 15:36:27 所属栏目:MsSql 来源:互联网
导读:场景: 我有一个table1(col1 char(5)); table1中的值可以是’001’或’01’或’1′. 需求: 无论col1中的值是什么,我都需要在5个字符串长度中将其与前导“0”连接,使其为5个字符长. 我申请的技术: select right((00000 + col1),5) from table1; 我没有看到任
|
场景: 我有一个table1(col1 char(5)); table1中的值可以是’001’或’01’或’1′. 需求: 无论col1中的值是什么,我都需要在5个字符串长度中将其与前导“0”连接,使其为5个字符长. 我申请的技术: select right(('00000' + col1),5) from table1;
我没有看到任何理由,为什么它不起作用?但事实并非如此. 解决方法由于您使用的是固定宽度的列,因此它的大小为5(带有空格).你需要修剪它:DECLARE @table1 TABLE (col1 char(5))
INSERT INTO @table1 (col1) VALUES ('12345')
INSERT INTO @table1 (col1) VALUES ('1')
SELECT RIGHT('00000'+RTRIM(col1),5) FROM @table1
-- Output:
-- 12345
-- 00001
或者使用varchar代替: DECLARE @table2 TABLE (col1 varchar(5))
INSERT INTO @table2 (col1) VALUES ('12345')
INSERT INTO @table2 (col1) VALUES ('1')
SELECT RIGHT('00000'+col1,5) FROM @table2
-- Output:
-- 12345
-- 00001 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- DB2中的sql – generate_series()等效项
- sql-server – SQL Server中的复合索引与INCLUDE覆盖索引
- sql-server – 不使用子查询的不同行的计数
- sql-server – 在SQL Server中搜索存储为XML的数据的最佳方
- sql-server-2008 – 在SQL Server管理工作室的地理列中输入
- sql-server – 在SQL Server 2008中创建一个类似’系统数据
- 如何按字母顺序排序SQL查询但忽略前导数字?
- 数据库中存储图像的最佳格式是什么?
- 创建数据库连接池
- sql-server – 如何知道要实现哪些SQL Server 2005索引建议
