Я не уверен насчет Oracle, но на стороне сервера SQL вы можете изменить используемую команду, чтобы записать результаты сохраненного pro c во временную таблицу, а затем вы может CAST()
столбцы временной таблицы.
Так что если вы в данный момент вызываете сохраненного профи c на SQL сервере, например: EXEC {YourProcName}
Тогда вы можете изменить свой введите что-то вроде этого:
CREATE TABLE #temp
(
col1 INT
,col2 DATETIME
,col3 VARCHAR(20)
);
INSERT INTO #temp
EXEC [sproc];
SELECT
col1 = CAST(col1 AS VARCHAR(20))
,col2 = CAST(FORMAT(col2,'dd-MMM-yy ') AS VARCHAR) + REPLACE(CAST(CAST(col2 AS TIME(3)) AS VARCHAR),':','.')
,col3
FROM #temp;
DROP TABLE #temp
Вы захотите создать временную таблицу, используя те же имена столбцов и типы данных, которые получают выходные данные от pro c. Затем вы можете CAST()
цифры c значения до VARCHAR
, а с датами / датами и временем вы можете использовать FORMAT()
для определения формата строки даты. Приведенный здесь пример должен привести к формату, который вы хотите 12-AUG-19 12.00.01.000
. Я не смог найти единственную строку формата, которая дала бы мне правильный вывод, поэтому я разбил элементы даты и времени на части, отформатировал их ожидаемым образом, а затем конкатенировал приведенные значения.