我有以下价值:
Jun **6** 2012 12:00:00:000AM
我想要的是:
Jun **06** 2012 12:00:00:000AM
0
仅当 day 的值小于 时才应放在前面9
。
我该怎么做呢?
如果您使用的是 SQL Server,您可以执行以下操作:
DECLARE @dt datetime = '1/1/2012'
SELECT CONVERT(VARCHAR(26), @dt, 107) + ' ' + CONVERT(VARCHAR(12), @dt, 114)
在任何数据库中,您都可以执行以下操作:
(case when substring(val, 5, 1) = ' '
then substring(val, 1, 4)||'0'+substring(val, 5, 1000)
else val
end)
这将检查第 5 个字符是否为空格。如果是这样,则需要添加一个零。我假设“**”是为了强调而不是在字符串中。
问题是各种字符串运算符——子字符串和连接——往往因数据库而异。