Другим способом изменения размера маркеров будет:
::before
. Пример:
ul {
list-style-type: none;
}
li::before {
display: inline-block;
vertical-align: middle;
width: 5px;
height: 5px;
background-color: #000000;
margin-right: 8px;
content: ' '
}
<ul>
<li>first element</li>
<li>second element</li>
</ul>
Не требуется никаких изменений разметки
COALESCE
- это более современная функция, которая является частью стандарта ANSI-92
.
NVL
специфична для Oracle
, он был введен в 80
до появления каких-либо стандартов.
В случае двух значений они являются синонимами.
Однако они реализуются по-разному.
NVL
всегда оценивает оба аргумента, в то время как COALESCE
обычно останавливает оценку всякий раз, когда находит первое отличное от NULL
(есть некоторые исключения, такие как последовательность NEXTVAL
):
SELECT SUM(val)
FROM (
SELECT NVL(1, LENGTH(RAWTOHEX(SYS_GUID()))) AS val
FROM dual
CONNECT BY
level <= 10000
)
Это выполняется почти 0,5
секунд, так как генерирует SYS_GUID ()
, несмотря на то, что 1
не является NULL
.
SELECT SUM(val)
FROM (
SELECT COALESCE(1, LENGTH(RAWTOHEX(SYS_GUID()))) AS val
FROM dual
CONNECT BY
level <= 10000
)
Это понимает, что 1
не является NULL
и не оценивает второй аргумент.
SYS_GUID
не генерируются, и запрос выполняется мгновенно. 1136049]
NVL сделает неявное преобразование в тип данных первого параметра,