我在表中有一个非常简单的标签,标签为DDMMYY。我想将其转换为日期MM-DD-20YY。有没有一种简单的方法在SQL中执行此操作?如何从SQL中的字符串提取日期?
我不是一个专家级的开发人员,我觉得使用PatIndex(总是只有一个破折号)应该很容易,但是我到目前为止还没有任何地方,我希望有人能帮忙。
我在表中有一个非常简单的标签,标签为DDMMYY。我想将其转换为日期MM-DD-20YY。有没有一种简单的方法在SQL中执行此操作?如何从SQL中的字符串提取日期?
我不是一个专家级的开发人员,我觉得使用PatIndex(总是只有一个破折号)应该很容易,但是我到目前为止还没有任何地方,我希望有人能帮忙。
这是MySQL的
你可以使用一些日期和字符串函数
select str_to_date(substr(my_column, LOCATE('-', my_column), 50),%d%m%y)
from you_table ;
在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
试试这个。(SQL服务器)
select cast (stuff(stuff(substring(column,patindex('%-%',column)+1,len(column)),5,0,'.20'),3,0,'.') as date)
from mytable
借用从here
对于MySQL d,你可以尝试这样的事情
select str_to_date(concat(substring(yourcolumn,instr(yourcolumn,'-')+1,4),'20',substring(yourcolumn,length(yourcolumn)-1,2)),'%d%m%Y')
from yourtable
欢迎,请添加任何你有这么远代码和样本,使我们可以从那里开始 – gerosalesc
欢迎叠加!此外,请标记您正在使用的SQL的哪种风格(MSSQL,Oracle,MySQL等)。干杯! – scsimon
你使用了什么[标签:rdbms]? – Mureinik