SQL Server如何根据trans_id前两位标识查询2019、2020年交易数据
SQL查询解决方案
核心逻辑为截取trans_id字段的前2位字符,匹配对应2019年的19、2020年的20即可,不同场景下的写法如下:
- 主流数据库通用写法(适用MySQL、SQL Server、PostgreSQL 12+等)
SELECT id, trans_id FROM 你的表名 -- 请替换为实际的数据表名称 WHERE LEFT(trans_id, 2) IN ('19', '20');
- 标准SQL全兼容写法(所有数据库都支持)
SELECT id, trans_id FROM 你的表名 -- 请替换为实际的数据表名称 WHERE SUBSTRING(trans_id FROM 1 FOR 2) IN ('19', '20');
- 特殊适配:如果
trans_id实际存储为数值类型,需先转字符串再截取(以MySQL为例)
SELECT id, trans_id FROM 你的表名 -- 请替换为实际的数据表名称 WHERE LEFT(CAST(trans_id AS CHAR), 2) IN ('19', '20');
内容的提问来源于stack exchange,提问作者user14220199
相关产品推荐
相关产品推荐

