我想选择在特定日期范围内设置的数据。不幸的是,我以这种形式得到了日期:
01.05.2016 and 02.06.2016
在数据库中,日期的格式为:
2013-06-21
如何在sql查询中转换日期?
SELECT `artikel`.*
FROM `artikel`
WHERE (buchungsdatum >= '01.05.2016') AND (buchungsdatum <= '02.06.2016')
答案 0 :(得分:1)
如果这是MySQL,您可以使用STR_TO_DATE
:
SELECT `artikel`.*
FROM `artikel`
WHERE
buchungsdatum >= STR_TO_DATE('01.05.2016','%d.%m.%Y')
AND buchungsdatum <= STR_TO_DATE('02.06.2016', '%d.%m.%Y')
检查here是否有可用的日期格式。
答案 1 :(得分:1)
尝试使用mysql的DATE_FORMAT()函数,因为DATE_FORMAT()函数用于显示不同格式的日期/时间数据。:
SELECT `artikel`.*
FROM `artikel`
WHERE (DATE_FORMAT(buchungsdatum, "%d.%m.%Y") >= '01.05.2016') AND (DATE_FORMAT(buchungsdatum, "%d.%m.%Y") <= '02.06.2016')
答案 2 :(得分:0)
你可以试试这个:
select
SUBSTRING(convert(varchar(10),REPLACE('01.05.2016','.', ''),103),5,4)+ '-'+
SUBSTRING(convert(varchar(10),REPLACE('01.05.2016','.', ''),103),3,2)+'-'+
SUBSTRING(convert(varchar(10),REPLACE('01.05.2016','.', ''),103),1,2)
格式为01.05.2016至2016-05-01
我必须提到它将01.05.2016更改为01052016,然后将其格式化。