FORMAT ([Time], 'hh: mm') возвращает NULL

Используйте DatatypeConverter.printHexBinary(). Вы можете прочитать его документацию в http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/DatatypeConverter.html

Например:

byte bytes[] = {(byte)0, (byte)0, (byte)134, (byte)0, (byte)61};
System.out.println(javax.xml.bind.DatatypeConverter.printHexBinary(bytes));

В результате получится:

000086003D

Как вы можете видеть, это приведет к получению шестнадцатеричной строки, представляющей массив байтов с ведущими нулями.

Этот ответ в основном такой же, как в вопросе . В Java, как мне преобразовать массив байтов в строку шестнадцатеричных цифр, сохраняя ведущие нули?

0
задан Salman A 17 January 2019 в 06:25
поделиться

3 ответа

Попробуйте это следующим образом:

FORMAT([Time], N'hhmm') AS [Time]

или

FORMAT([Time], N'hh\:mm') AS [Time]
0
ответ дан Derviş Kayımbaşıoğlu 17 January 2019 в 06:25
поделиться

Из документов :

FORMAT опирается на правила форматирования CLR, которые предписывают, что двоеточия и точки должны быть экранированы. Поэтому, когда строка формата (второй параметр) содержит двоеточие или точку, двоеточие или точка должны быть экранированы обратной косой чертой, когда входное значение (первый параметр) относится к типу данных времени.

Это должно работать:

SELECT FORMAT(CAST('09:00:00.1234567' AS TIME(7)), 'hh\:mm')              -- 09:00
SELECT FORMAT(CAST('09:00:00.1234567' AS TIME(7)), 'hh\:mm\:ss\.fffffff') -- 09:00:00.1234567
0
ответ дан Salman A 17 January 2019 в 06:25
поделиться

Вы можете проверить документы на дату и время

https://docs.microsoft.com/en-us/sql/t-sql/functions/date-and-time -data-types-and-functions-transact-sql? view = sql-server-2017

После предупреждения Ларну

Обновление:

[ 116] Из приведенной выше ссылки вы можете отформатировать время следующим образом:

SELECT FORMAT(cast(GETDATE() as time), N'hh\:mm\:ss');
0
ответ дан Seyhmus Gokcen 17 January 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: