Funções de hora, data e intervalo
A tabela a seguir lista as funções de data e hora incluídas no conjunto de funções escalares ODBC. Um aplicativo pode determinar quais funções de data e hora têm suporte de um driver chamando SQLGetInfo com um tipo de informação de SQL_TIMEDATE_FUNCTIONS.
Argumentos indicados como timestamp_exp podem ser o nome de uma coluna, o resultado de outra função escalar ou um escape ODBC-time-escape, ODBC-date-escape ou ODBC-timestamp-escape, em que o tipo de dados subjacente poderia ser representado como SQL_CHAR, SQL_VARCHAR, SQL_TYPE_TIME, SQL_TYPE_DATE ou SQL_TYPE_TIMESTAMP.
Os argumentos indicados como date_exp podem ser o nome de uma coluna, o resultado de outra função escalar ou um escape de data-ODBC ou ODBC-timestamp-escape, em que o tipo de dados subjacente pode ser representado como SQL_CHAR, SQL_VARCHAR, SQL_TYPE_DATE ou SQL_TYPE_TIMESTAMP.
Os argumentos indicados como time_exp podem ser o nome de uma coluna, o resultado de outra função escalar ou um escape de tempo ODBC ou ODBC-timestamp-escape, em que o tipo de dados subjacente pode ser representado como SQL_CHAR, SQL_VARCHAR, SQL_TYPE_TIME ou SQL_TYPE_TIMESTAMP.
As funções escalares CURRENT_DATE, CURRENT_TIME e CURRENT_TIMESTAMP data/hora foram adicionadas no ODBC 3.0 para se alinhar ao SQL-92.
Função | Descrição |
---|---|
CURRENT_DATE( ) (ODBC 3.0) | Retorna a data atual. |
CURRENT_TIME[(precisão de tempo)] (ODBC 3.0) | Retorna a hora local atual. O argumento de precisão de tempo determina a precisão de segundos do valor retornado. |
CURRENT_TIMESTAMP [(timestamp-precision)] (ODBC 3.0) |
Retorna a data local atual e a hora local como um valor de carimbo de data/hora. O argumento timestamp-precision determina a precisão de segundos do carimbo de data/hora retornado. |
CURDATE( ) (ODBC 1.0) | Retorna a data atual. |
CURTIME( ) (ODBC 1.0) | Retorna a hora local atual. |
DAYNAME(date_exp) (ODBC 2.0) | Retorna uma cadeia de caracteres que contém o nome específico da fonte de dados do dia (por exemplo, domingo a sábado ou dom. até sáb. para uma fonte de dados que usa inglês ou Sonntag por meio de Samstag para uma fonte de dados que usa alemão) para a parte do dia de date_exp. |
DAYOFMONTH(date_exp) (ODBC 1.0) | Retorna o dia do mês com base no campo mês em date_exp como um valor inteiro no intervalo de 1 a 31. |
DAYOFWEEK(date_exp) (ODBC 1.0) | Retorna o dia da semana com base no campo de semana em date_exp como um valor inteiro no intervalo de 1 a 7, em que 1 representa domingo. |
DAYOFYEAR(date_exp) (ODBC 1.0) | Retorna o dia do ano com base no campo ano em date_exp como um valor inteiro no intervalo de 1 a 366. |
EXTRACT(extract-field FROMextract-source) (ODBC 3.0) | Retorna a parte extract-field da extração-fonte. O argumento extract-source é uma expressão datetime ou interval. O argumento extract-field pode ser uma das seguintes palavras-chave : SEGUNDO MINUTO DA HORA DO DIA DO MÊS DO ANO A precisão do valor retornado é definida pela implementação. A escala é 0, a menos que SECOND seja especificado; nesse caso, a escala não é menor que a precisão de segundos fracionários do campo extra-source . |
HOUR(time_exp) (ODBC 1.0) | Retorna a hora com base no campo de hora em time_exp como um valor inteiro no intervalo de 0 a 23. |
MINUTE(time_exp) (ODBC 1.0) | Retorna o minuto com base no campo de minuto em time_exp como um valor inteiro no intervalo de 0 a 59. |
MONTH(date_exp) (ODBC 1.0) | Retorna o mês com base no campo mês em date_exp como um valor inteiro no intervalo de 1 a 12. |
MONTHNAME(date_exp) (ODBC 2.0) | Retorna uma cadeia de caracteres que contém o nome específico da fonte de dados do mês (por exemplo, de janeiro a dezembro ou de janeiro a dezembro. para uma fonte de dados que usa inglês ou Januar por meio do Dezember para uma fonte de dados que usa alemão) para a parte mensal de date_exp. |
NOW( ) (ODBC 1.0) | Retorna a data e a hora atuais como um valor de carimbo de data/hora. |
QUARTER(date_exp) (ODBC 1.0) | Retorna o trimestre em date_exp como um valor inteiro no intervalo de 1 a 4, onde 1 representa de 1º de janeiro a 31 de março. |
SECOND(time_exp) (ODBC 1.0) | Retorna o segundo com base no segundo campo em time_exp como um valor inteiro no intervalo de 0 a 59. |
TIMESTAMPADD(interval, integer_exp, timestamp_exp) (ODBC 2.0) | Retorna o carimbo de data/hora calculado adicionando integer_exp intervalos de intervalo de tipo a timestamp_exp. Os valores válidos do intervalo são as seguintes palavras-chave: SQL_TSI_FRAC_SECOND SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR em que os segundos fracionários são expressos em bilionésimos de segundo. Por exemplo, a seguinte instrução SQL retorna o nome de cada funcionário e sua data de aniversário de um ano: SELECT NAME, {fn TIMESTAMPADD(SQL_TSI_YEAR, 1, HIRE_DATE)} FROM EMPLOYEES Se timestamp_exp for um valor de tempo e um intervalo especificar dias, semanas, meses, trimestres ou anos, a parte de data de timestamp_exp será definida como a data atual antes de calcular o carimbo de data/hora resultante. Se timestamp_exp for um valor de data e um intervalo especificar segundos, segundos, minutos ou horas fracionários, a parte de tempo de timestamp_exp será definida como 0 antes de calcular o carimbo de data/hora resultante. Um aplicativo determina quais intervalos uma fonte de dados dá suporte chamando SQLGetInfo com a opção SQL_TIMEDATE_ADD_INTERVALS. |
TIMESTAMPDIFF(interval, timestamp_exp1, timestamp_exp2) (ODBC 2.0) | Retorna o número inteiro de intervalos do intervalo de tipo pelo qual timestamp_exp2 é maior que timestamp_exp1. Os valores válidos do intervalo são as seguintes palavras-chave: SQL_TSI_FRAC_SECOND SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR em que os segundos fracionários são expressos em bilionésimos de segundo. Por exemplo, a seguinte instrução SQL retorna o nome de cada funcionário e o número de anos em que foi empregado: SELECT NAME, {fn TIMESTAMPDIFF(SQL_TSI_YEAR, {fn CURDATE()}, HIRE_DATE)} FROM EMPLOYEES Se uma expressão de carimbo de data/hora for um valor de tempo e o intervalo especificar dias, semanas, meses, trimestres ou anos, a parte de data desse carimbo de data/hora será definida como a data atual antes de calcular a diferença entre os carimbos de data/hora. Se uma expressão de carimbo de data/hora for um valor de data e um intervalo especificar segundos fracionários, segundos, minutos ou horas, a parte de tempo desse carimbo de data/hora será definida como 0 antes de calcular a diferença entre os carimbos de data/hora. Um aplicativo determina quais intervalos uma fonte de dados dá suporte chamando SQLGetInfo com a opção SQL_TIMEDATE_DIFF_INTERVALS. |
WEEK(date_exp) (ODBC 1.0) | Retorna a semana do ano com base no campo de semana em date_exp como um valor inteiro no intervalo de 1 a 53. |
YEAR(date_exp) (ODBC 1.0) | Retorna o ano com base no campo ano em date_exp como um valor inteiro. O intervalo depende da fonte de dados. |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de