Преобразование запроса Oracle с использованием to_date () в запрос SQL сервера - PullRequest
0 голосов
/ 06 мая 2020

Я хотел бы преобразовать следующие операторы Oracle в SQL операторы сервера:

SELECT CAST(e.A_D_V AS DATE) + TO_NUMBER(TO_CHAR(TO_DATE(f.A_T_24, 'HH24:MI:SS'), 'HH24')) / 24  Per

Столбец A_D_V имеет тип даты в БД Столбец A_T_24 имеет номер (2,0 ) тип даты в БД.

Я пытался следовать, но запрос дает много ошибок

CAST(e.A_D_V AS DATE) + ' ' + try_CONVERT(char(8), f.A_T_24,108) / 24  Per

1 Ответ

0 голосов
/ 06 мая 2020

Вы можете попробовать приведенный ниже код на SQL сервере.

declare @T VARCHAR(30) = '10:34:54'
declare @D varchar(30) = '2020-05-04'
SELECT CONCAT(CAST(@d as Date), ' ', CAST(DATEPART(HH,CAST(@T AS Time))  AS DECIMAL(4,2))/ 24) as Datevalue 

+---------------------+
|      Datevalue      |
+---------------------+
| 2020-05-04 0.416666 |
+---------------------+
...