#sql #sql-server
#sql #sql-server
Вопрос:
Если бы сегодня было 1 декабря, выше было бы напечатано «1». Я хочу напечатать «01». Как мне это сделать?
Date = REPLACE(REPLACE(Substring([Date],1,10),'-',''), '/','')
Результат: 2020/12/1
Ожидаемый результат: 2020/12/01
Кто-нибудь может дать совет? Большое спасибо.
Комментарии:
1. Это функция уровня приложения. Вы не должны форматировать для отображения в своей базе данных, пусть база данных обрабатывает данные, а ваше приложение обрабатывает отображение.
Ответ №1:
В SQL Server вы можете преобразовать в правильный формат:
select convert(varchar(10), date, 121)
Вот скрипка db<> .
Комментарии:
1. спасибо Gordon.it кажется, не работает. я добавляю скрытое значение в свой код REPLACE(REPLACE(SubString(convert(varchar(10), [дата], 121 ),1,10),’-‘,»), ‘/’ ,») но это все равно приводит к «2020/12/1», я не уверен, так ли этоо EXCEL, потому что дни, которые я провел в EXCEL. ДАТА EXCEL — 2020/12/1.
2. @ericso . , , Это не говорит о добавлении
convert()
в ваш код. Это говорит только об использованииconvert()
.
Ответ №2:
Использование формата
SELECT FORMAT(CAST('01-DEC-2020' AS DATE),'yyyy/MM/dd')