我在表格中有一个非常简单的标签,结构为tag-DDMMYY。我想把它转换成日期,MM-DD-20YY。在SQL中有一种简单的方法吗?
我不是专业的开发人员,我觉得使用PatIndex(总是只有一个破折号)应该很容易,但到目前为止我无处可去,我希望有专家可以提供帮助。
答案 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