首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

时间格式转换解决方案

2013-11-11 
时间格式转换想把一个日期格式的字段转换成【0801A】的格式但是用SELECT SUBSTRING(CONVERT(varchar(18), GE

时间格式转换
想把一个日期格式的字段转换成【0801A】的格式
但是用
SELECT SUBSTRING(CONVERT(varchar(18), GETDATE(), 0), 12, 2) +
 SUBSTRING(CONVERT(varchar(18), GETDATE(), 0), 15, 2) +
 SUBSTRING(CONVERT(varchar(18), GETDATE(), 0), 17, 1)
的话,过了10点还好是【1001A】
10点之前的话就会变成【 801A】

怎么能把这个【 801A】变成【0801A】呀

谢谢了
[解决办法]

SELECT CAST( DATEPART( HH, GETDATE() ) AS VARCHAR(2) ) +
       CAST( DATEPART( MI, GETDATE() ) AS VARCHAR(2) ) +
       SUBSTRING(CONVERT(varchar(18), GETDATE(), 0), 17, 1)
[解决办法]
是这样吗:


SELECT right('00'+ltrim(SUBSTRING(CONVERT(varchar(18), GETDATE(), 0), 12, 2)),2) +
 SUBSTRING(CONVERT(varchar(18), GETDATE(), 0), 15, 2) +
 SUBSTRING(CONVERT(varchar(18), GETDATE(), 0), 17, 1)
/*
0125P
*/ 

[解决办法]
SELECT replace('0'+SUBSTRING(CONVERT(varchar(18), GETDATE(), 0), 12, 2),' ','') +
 SUBSTRING(CONVERT(varchar(18), GETDATE(), 0), 15, 2) +
 SUBSTRING(CONVERT(varchar(18), GETDATE(), 0), 17, 1)

热点排行