如何从SQL中的字符串中提取日期?

时间:2016-05-31 18:33:40

标签: mysql sql

我在表格中有一个非常简单的标签,结构为tag-DDMMYY。我想把它转换成日期,MM-DD-20YY。在SQL中有一种简单的方法吗?

我不是专业的开发人员,我觉得使用PatIndex(总是只有一个破折号)应该很容易,但到目前为止我无处可去,我希望有专家可以提供帮助。

3 个答案:

答案 0 :(得分:0)

这是mysql

您可以使用某些日期和字符串功能

select  str_to_date(substr(my_column, LOCATE('-', my_column), 50),%d%m%y)
from you_table ;

答案 1 :(得分:0)

在MSSQL中,您可以执行以下操作:

SELECT SUBSTRING(T1.OriginalDate, PATINDEX('%-%', T1.OriginalDate)+3, 2) 
     + '-' 
     + SUBSTRING(T1.OriginalDate, PATINDEX('%-%', T1.OriginalDate)+1, 2) 
     + '-' 
     + '20' + SUBSTRING(T1.OriginalDate, PATINDEX('%-%', T1.OriginalDate)+5, 2) 
     AS NewFormatDate
FROM (SELECT 'tag-310516' as OriginalDate) T1

答案 2 :(得分:0)

试试这个..(SQL Server)

  select cast (stuff(stuff(substring(column,patindex('%-%',column)+1,len(column)),5,0,'.20'),3,0,'.') as date) 
   from mytable

借鉴here

对于mysql,你可以试试这样的东西

select str_to_date(concat(substring(yourcolumn,instr(yourcolumn,'-')+1,4),'20',substring(yourcolumn,length(yourcolumn)-1,2)),'%d%m%Y')
from yourtable