sql - SQL从右边选择最后一个数字
问题描述
我试图从一个字符串中只选择数字,从右边开始。因此,从以下示例中:
1ECCA15
ECCB9
我只想从右边选择数字。所以结果是:
15
9
我试过这个,但这并没有从右边选择数字。
substring(col, PatIndex('%[0-9]%', col), len(col))
解决方案
你去,利用REVERSE
CREATE TABLE #temp(col varchar(20))
INSERT INTO #temp values('1ECCA15'),('ECCB9')
SELECT REVERSE(SUBSTRING(REVERSE(Col), 0, PATINDEX('%[^0-9]%',REVERSE(col))))
FROM #temp
推荐阅读
- r - 使用 R 拆分具有由标题分隔的多组数据的 CSV 并创建标识列
- r - 从单列数据中提取不同的向量(在 R 中)
- javascript - 即使在使用 display:hidden 隐藏对象后网页中的空白
- python - 删除字典列表周围的字符串引号
- python - sphinx_automodapi 扩展 - 为类继承图跳过一个类
- c# - 即使使用 NOCHECK CONSTRAINT,SQL Server 也会引发错误“DELETE 语句与 REFERENCE 约束冲突”
- python - 为什么 Visual Studio Code 中的 Python repl 告诉我我的对象未定义?
- java - 数组的排名值
- apache - Apache 重定向到错误的虚拟主机
- firebase - 如何将我的 Cloud Firestore 添加到 Google 表格?