SQL中如何将一列中的值显示出字符指定位置与指定长度。

暗香疏影 创作者

我们在对比系统目前存在的生日与身份证的时候会问,怎么只取其中值的特定位置,获得对比结果。
例如我们有一个值是123456789,那么我们怎么只显示4567呢?

示例

1
2
3
4
5
6
SELECT 
... ...
,convert(varchar, table1.[BirthDate], 112) as SystemBD
,substring(table2.ResidentialID,7,8) AS RBD
From Database1
Where SystemBD != RBD AND table2.ResidentialID like '__________________'

我们可以参考w3schools 的介绍。
也就是,从身份证第7位起,长度为8位。注意,他和程序中的index不一样,开始第一个字符就是1,而不是0。

  • 标题: SQL中如何将一列中的值显示出字符指定位置与指定长度。
  • 作者: 暗香疏影
  • 创建于 : 2021-03-14 00:00:00
  • 更新于 : 2021-03-14 00:00:00
  • 链接: https://blog.23ikr.com/2021/03/14/2021-03-14-SQL-OneColumnValue-To-OnlySpecificStringIndex/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
SQL中如何将一列中的值显示出字符指定位置与指定长度。