Sql 在月份名称后添加空格的查询
我正在使用Oracle 10 我想以以下格式从数据库中选择日期:Sql 在月份名称后添加空格的查询,sql,oracle,Sql,Oracle,我正在使用Oracle 10 我想以以下格式从数据库中选择日期: 02<sup>nd</sup> November 2013 若日期包含八月,则输出包含四个空格,若为一个空格,则输出包含四个空格 02<sup>nd</sup> August____2013 //underscore denotes space 2013年8月2日//下划线表示空格 如有任何建议,将不胜感激 我已经找到了一个解决方案,但我仍然不知道为什么上面的查询会在输出
02<sup>nd</sup> November 2013
若日期包含八月,则输出包含四个空格,若为一个空格,则输出包含四个空格
02<sup>nd</sup> August____2013 //underscore denotes space
2013年8月2日//下划线表示空格
如有任何建议,将不胜感激
我已经找到了一个解决方案,但我仍然不知道为什么上面的查询会在输出中添加额外的空格
select
regexp_replace(
replace(
replace(
replace(
replace(
to_char(to_date('02-Aug-2013','dd-Mon-yyyy'),'ddth Month yyyy')
,'nd','<sup>nd</sup>')
,'st','<sup>st</sup>')
,'th','<sup>th</sup>')
,'Augu<sup>st</sup>','August')
,'[[:space:]][[:space:]]*',' ')
from dual
选择
regexp\u替换(
替换(
替换(
替换(
替换(
截止日期(“2013年8月2日”、“年月日”和“年月日”)
,'nd','nd')
,‘st’,‘st’)
,“th',“th')
","八月","八月")
,“[:space:][[:space:][]*”,“”)
来自双重
最长月份的长度为9。因此,所有月份都在右侧用空格填充,以组成9个字符
可以指定用于修剪空间的格式模型
to_char(to_date('04-May-2013','dd-Mon-yyyy'),'ddth fmMonth yyyy')
select
regexp_replace(
replace(
replace(
replace(
replace(
to_char(to_date('02-Aug-2013','dd-Mon-yyyy'),'ddth Month yyyy')
,'nd','<sup>nd</sup>')
,'st','<sup>st</sup>')
,'th','<sup>th</sup>')
,'Augu<sup>st</sup>','August')
,'[[:space:]][[:space:]]*',' ')
from dual
to_char(to_date('04-May-2013','dd-Mon-yyyy'),'ddth fmMonth yyyy')