sql server取"总经办-202305040-003","string-20230504-005","总经办-20230504-004" 根据中间20230504-003查出最大的编号
时间: 2023-10-22 10:21:25 浏览: 71
假设这些编号都是存储在一个名为`table_name`的表中的一个名为`column_name`的列中,可以使用以下SQL查询语句来实现所需的结果:
```
SELECT MAX(RIGHT(column_name, 3))
FROM table_name
WHERE column_name LIKE '%20230504-003%'
```
解释一下上述查询语句:
- `RIGHT(column_name, 3)`函数会返回列`column_name`中每个值的后三个字符,即编号中的数字部分。
- `MAX()`函数会返回这些数字中的最大值。
- `WHERE`子句用于筛选出包含字符串"20230504-003"的编号。
这样就可以取出"总经办-202305040-003","string-20230504-005","总经办-20230504-004"中间20230504-003的最大编号了。
相关问题
sql server取"总经办-20230504003","string-20230504-005","总经办-20230504-004" 根据中间20230504-003查出最大的编号
可以使用SUBSTRING函数和CAST函数获取中间的数字,并使用MAX函数获取最大的编号:
```sql
SELECT MAX(CAST(SUBSTRING(column_name, CHARINDEX('-', column_name) + 1, 8) AS INT))
FROM table_name
WHERE column_name LIKE '%20230504-003%'
```
其中,`column_name`是包含编号的列名,`table_name`是包含数据的表名。我们使用`CHARINDEX`函数找到第一个`-`的位置,然后使用`SUBSTRING`函数获取第一个`-`之后的8个字符,即中间的数字部分。使用`CAST`函数将中间的数字部分转换为整数,然后使用`MAX`函数获取最大的编号。最后,使用`WHERE`子句过滤出包含指定中间部分的编号。
阅读全文