-1

我有一个包含 2 列的表(DBname)。column1 (datatype =dates) 包含未来 2 年的日期。column2 (datatype = integer) 我分配的一些数据。如何让 SQL 选择与当前系统日期对应的 column2 中的数据。我已经尝试了以下但没有成功它返回一个空白......我正在使用 MySQL

SELECT column2 FROM DBname WHERE column1 = CURRENT_DATE

如果我将其更改为

SELECT column2 FROM DBname WHERE column1 > CURRENT_DATE

它返回column2 rowid1

如果我将其更改为

SELECT column2 FROM DBname WHERE column1 > CURRENT_DATE

它返回column2 rowid3......真的很困惑......问题可能出在数据库本身吗?

至于数据..我导入了一个excel文件,其中包含column1中的日期..我写了第一个日期并对其进行格式化,然后向下拖动大约2年以填充其余部分..至于column2数据,它只是数字我已经放在......一个例子是

column1 1-dec-12, 2-dec-12, 3-dec-12, 4-dec-12     
column2   2,  4, 18, 19  
4

1 回答 1

0

我认为你column1持有日期是一个STRING。您需要先将其转换为DATE使用STR_TO_DATE函数,

SELECT *
FROM table1
WHERE STR_TO_DATE(column1, '%e-%b-%y') > CURDATE()

其他来源

于 2012-12-23T09:20:59.680 回答