sql-server - SQL Query中如何根据其最左侧的String值是数字来确定和避免记录?
问题描述
我有一个表AgentDetail
,我需要创建一个查询,它只返回包含最左边 5 个数字的记录。
该表有 3 列
AgentId, AgentName, AgentTextCode
在AgentTextCode
列中,可能有 5 位数字或任何文本值(有时 2 字节字符)。所以输出记录应该只有那些值以 5 位数字开头的记录(不可能是十进制值)。
样本数据和输出:
解决方案
我们可以LIKE
在这里使用:
SELECT
AgentID, AgentName, AgentTextCode
FROM yourTable
WHERE AgentTextCode LIKE '[0-9][0-9][0-9][0-9][0-9]%';
SQL Server 的LIKE
运算符支持一些原始的正则表达式功能,如上所示。
推荐阅读
- css - 自定义 Material UI 1.3.1 扩展面板
- junit5 - 没有为 @RepeatedTest 注册 ParameterResolver
- php - 根据 wp_postmeta 表中的元数据选择帖子
- docker - Docker Compose:“父”完成时停止“depends_on”服务
- javascript - 在页面加载时自动按下特定按钮的方法?
- sql-server - 在 SQL 递归中使用 MAX(Date) 值
- reactjs - React Navigation 在 contentComponent 中显示选定的屏幕
- java - 没有花括号的 If-Else 控制流
- ruby - 什么是在 ruby 中对字符串进行排序以使空字符串位于末尾的好方法?
- jenkins - Jenkins 多分支管道缺少一个分支