我尝试将MySQL数据库中的信息提取到MS SQL DB中。数据库很乱,开发人员不再可用。
所有日期都在字段中,我使用
SELECT concat( mid(DueDate, 7, 4), mid(DueDate, 4, 2), mid(DueDate, 1, 2)) as DueDate FROM TableName
以格式获取日期字段,以便MS sql server可以导入它们。
现在,我想只导出日期大于今天的记录,所以问题是:
答案 0 :(得分:11)
在MySQL中,您可以使用STR_TO_DATE函数将字符串转换为日期。
示例用法是:
mysql> SELECT STR_TO_DATE('04/31/2004', '%m/%d/%Y');
-> '2004-04-31'
要在MySQL中获取当前日期,只需使用NOW()函数即可。然后,您可以使用
之类的内容检查解析日期是否晚于今天WHERE STR_TO_DATE('04/31/2009', '%m/%d/%Y') > NOW()
答案 1 :(得分:1)
与getdate()等效的MySQL是CURDATE()
mysql> select IF(CURDATE()<NOW(), 1, 0); +---------------------------+ | IF(CURDATE()<NOW(), 1, 0) | +---------------------------+ | 1 | +---------------------------+ 1 row in set (0.00 sec) mysql> select IF(CURDATE()=NOW(), 1, 0); +---------------------------+ | IF(CURDATE()=NOW(), 1, 0) | +---------------------------+ | 0 | +---------------------------+ 1 row in set (0.00 sec)