近日使用FineReport制作报表,在制作过程中使用参数传递时出了小问题,由于FineReport是JAVA报表,所以在进行日期参数传递的时候就出现这种格式               'Sat Jul 25 16:43:59 CST 2009'  然而SQL中有没有相关的日期函数对其进行转换。在经过一番查阅后,利用SQL里自带的字符串函数进行了调整。整个代码如下
 
select right( 'Sat Jul 25 16:43:59 CST 2009',4)+ '-'+ SUBSTRING( 'Jan01Feb02Mar03Apr04May05Jun06Jul07Aug08Sep09Oct10Nov11Dec12', CHARINDEX( SUBSTRING( 'Sat Jul 25 16:43:59 CST 2009',5,3), 'Jan01Feb02Mar03Apr04May05Jun06Jul07Aug08Sep09Oct10Nov11Dec12')+3,2)+ '-'+ SUBSTRING( 'Sat Jul 25 16:43:59 CST 2009',9,2)
 
结果如下:
对sql字符串操作的一次深入理解_第1张图片
 
如果大家还有更好的方法 还请赐教