gpt4 book ai didi

mysql - SQL 查询,在一列上检查年份

转载 作者:可可西里 更新时间:2023-11-01 08:09:34 26 4
gpt4 key购买 nike

我的 MySQL 表中有一列显示年份。示例:

Table: InformationID | Year_sold--- --------1  | 2002-20102  | 2005-20153  | 2011-____4  | 1975-1978

我会询问表格是否有特定年份的数据要显示。示例:

SELECT * FROM Information WHERE Year_sold = '2012';

这当然行不通,但是如果结果应该是 ID 2 和 3,我该如何输入 SQL 查询。

如果该项目仍然有效并正在出售,年份将显示为 ID 3,“2011-____”。如果需要,我可以替换“____”。

最佳答案

使用 BETWEENLEFTSUBSTRING_INDEX 函数。

SELECT ID, Year_sold
FROM Information
WHERE '2012' BETWEEN LEFT(Year_sold,4) AND SUBSTRING_INDEX(Year_sold,'-',-1)

输出

ID  Year_sold
2 2005-2015
3 2011-____

SQL fiddle :http://sqlfiddle.com/#!9/7df7b7/1/0

如果可能的话,我会从你的表结构开始,并有类似的东西:

表:信息

ID | Year_sold_from | Year_sold_to
--- ------------------------------
1 | 2002 | 2010
2 | 2005 | 2015
3 | 2011 | null
4 | 1975 | 1978

关于mysql - SQL 查询,在一列上检查年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45345054/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com