SQL转换日期从dd.mm.yyyy到dd-mm-yyyy

时间:2016-06-02 06:48:47

标签: sql date

我想选择在特定日期范围内设置的数据。不幸的是,我以这种形式得到了日期:

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')

3 个答案:

答案 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,然后将其格式化。