如果在sql中,如果day小于9,则添加0

时间:2012-06-22 14:58:37

标签: sql datepart

我有以下价值:

Jun **6** 2012 12:00:00:000AM

我想要的是:

Jun **06** 2012 12:00:00:000AM
只有当天的值小于0时才应添加

9

我该怎么做?

2 个答案:

答案 0 :(得分:4)

如果您使用的是SQL Server,则可以执行以下操作:

DECLARE @dt datetime = '1/1/2012'
SELECT CONVERT(VARCHAR(26), @dt, 107) + ' ' + CONVERT(VARCHAR(12), @dt, 114)

答案 1 :(得分:0)

在任何数据库中,您都可以执行以下操作:

(case when substring(val, 5, 1) = ' '
      then substring(val, 1, 4)||'0'+substring(val, 5, 1000)
      else val
 end)

这将检查第5个字符以查看它是否为空格。如果是这样,则需要添加零。我假设“**”是强调而不是字符串。

问题是各种字符串运算符 - 子字符串和连接 - 往往因数据库而异。