咨询:提取字符串前4个字符的SQL函数及降序排序要求
SQL提取字符串前4个字符的实现及目标查询示例
提取前4个字符的常用函数
不同数据库系统对应的实现函数略有差异,主流选项如下:
- MySQL/MariaDB、PostgreSQL、SQL Server:使用
LEFT()函数,语法为LEFT(目标字段名, 4) - Oracle:使用
SUBSTR()函数,语法为SUBSTR(目标字段名, 1, 4) - 通用兼容方案:
SUBSTRING(目标字段名, 1, 4)(多数主流数据库均支持)
符合需求的完整查询语句
假设存储销售数据的表名为sold_hockey_gear,产品编码字段为product_sku,销售日期字段为sale_date,以下是满足所有要求的查询示例(以MySQL为例):
SELECT LEFT(product_sku, 4) AS first_four_chars, product_sku, sale_date, product_name, quantity_sold FROM sold_hockey_gear WHERE sale_date >= '2021-01-01' AND LENGTH(product_sku) BETWEEN 10 AND 25 ORDER BY first_four_chars DESC;
关键说明
LENGTH(product_sku) BETWEEN 10 AND 25:过滤出长度在10-25之间的产品编码sale_date >= '2021-01-01':限定查询2021年1月至今的售出记录ORDER BY first_four_chars DESC:将提取出的前4个字符按降序排序
如果使用Oracle数据库,只需将LEFT(product_sku, 4)替换为SUBSTR(product_sku, 1, 4)即可。
内容的提问来源于stack exchange,提问作者Tom Pfister
相关产品推荐
相关产品推荐

