Aceita uma hora do dia. Os espaços são removidos da entrada antes da análise (exceto o espaço entre os dígitos da hora e o sufixo AM/PM, que é tratado separadamente).
Básico
| Formato | Exemplo |
|---|---|
hh:mm |
09:30 |
hh:mm:ss |
09:30:00 |
hh:mm:ss.f a hh:mm:ss.ffffff |
09:30:00.5 → 500 ms |
O separador : é sempre aceite. O separador de tempo
TimeSeparator do tempo de execução também é aceite, a menos
que seja ., caso em que entraria em conflito com o
separador de segundos fracionários; nesse caso, apenas : é
válido.
Segundos fracionários
São aceites 1 a 6 dígitos após o separador .. O valor é
normalizado para milissegundos (0–999): menos de 3 dígitos são
preenchidos à direita com zeros (.5 → 500 ms); mais de 3
dígitos são truncados (.1234 → 123 ms). Um ponto final sem
dígitos, ou mais de 6 dígitos fracionários, devolve
ERR_INVALID_FORMAT. Zero milissegundos (.000)
produz um literal simples hh:mm:ss sem parte
fracionária.
A combinação de AM/PM com segundos fracionários não é suportada e
devolve ERR_INVALID_FORMAT.
AM/PM
Aceite em configurações regionais em que as variáveis de tempo de
execução TimeAMString e TimePMString não
estejam vazias (configurações regionais de 12 horas). São reconhecidas
tanto a forma anexada (9:30AM) como a separada por espaço
(9:30 AM). O literal SQL é sempre de 24 horas.
Entrada: 2:30 PM → Values[0]: 14:30:00
SQLValues[0] (ElevateDB): TIME '14:30:00'
A exibição no formato de 24 horas string no formato
hh:mm:ss, com .fff acrescentado quando os
milissegundos são diferentes de zero.
09:30 → 09:30:00
09:30:15.5 → 09:30:15.500
O literal de tempo SQL depende do dialeto. Consulte dialetos SQL para ver a tabela completa de formatos.
09:30:15.500 →
sqlElevateDB,
sqlMySQL,
sqlPostgreSQL: TIME '09:30:15.500'
sqlFirebird: TIME '09:30:15.5000' (ms × 10)
sqlDBISAM,
sqlMSSQLServer,
sqlSQLite: '09:30:15.500'
sqlOracle: TO_TIMESTAMP('09:30:15.500','HH24:MI:SS.FF3')
sqlAccess: #09:30:15# (ms omitida)
sqlBDEParadox: "09:30:15" (ms omitida)
Entrada: 08:00~17:00
→ otRange
→ BETWEEN TIME '08:00:00' AND TIME '17:00:00' (sqlElevateDB)
A hora à esquerda não pode ser posterior à hora à direita; caso
contrário, é devolvido ERR_INVALID_RANGE. A ordem é
determinada pela comparação lexicográfica do hh:mm:ss[.fff]
strings, o que equivale à ordem cronológica, uma vez que todos
os campos são preenchidos com zeros até uma largura fixa.