Добавьте 0, если день меньше 9 в sql
У меня есть следующее значение:
Jun **6** 2012 12:00:00:000AM
Что я хочу это:
Jun **06** 2012 12:00:00:000AM
0
следует добавлять только в том случае, если значение дня меньше 9
,
Как мне это сделать?
2 ответа
Если вы используете 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-й символ, чтобы увидеть, если это пробел. Если это так, то нужно добавить ноль. Я предполагаю, что "**" для акцента, а не в строке.
Проблема в том, что различные строковые операторы - подстрока и конкатенация - имеют тенденцию варьироваться в зависимости от базы данных.