Данные даты и времениdate and time data

Функции для преобразования разницы в дни и секунды

TO_DAYS(date) — принимает дату date в кратком ‘YYYY-MM-DD’ или
полном формате ‘YYYY-MM-DD hh:mm:ss’ и возвращает количество дней, прошедших с нулевого года.

FROM_DAYS(N) — принимает количество дней N, прошедших
с нулевого года, и возвращает дату в формате ‘YYYY-MM-DD’.

UNIX_TIMESTAMP(), UNIX_TIMESTAMP(datetime) — если параметр не
указан, то возвращает количество секунд, прошедших с 00:00 1 января 1970 года. Если параметр datetime
указан (в кратком ‘YYYY-MM-DD’ или полном формате ‘YYYY-MM-DD hh:mm:ss’), то возвращает разницу
в секундах между 00:00 1 января 1970 года и датой datetime.

FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp, format) —
принимает количество секунд, прошедших с 00:00 1 января 1970 года и возвращает дату и время суток
в виде строки ‘YYYY-MM-DD hh:mm:ss’ или в виде числа YYYYDDMMhhmmss в зависимости от того, вызвана
функция в строковом или числовом контексте.

TIME_TO_SEC(time) — принимает время суток time в формате
‘hh:mm:ss’ и возвращает количество секунд, прошедших с начала суток.

SEC_TO_TIME(seconds) — принимает количество секунд seconds,
прошедших с начала суток и возвращает время в формате ‘hh:mm:ss’ или hhmmss в зависимости от того, вызвана
функция в строковом или числовом контексте.

MAKEDATE(year, dayofyear) — принимает год year, номер дня в году
dayofyear и возвращает дату в формате ‘YYYY-MM-DD’.

MAKETIME(hour, minute, second) — принимает часы hour, минуты
minute и секунды second и возвращает время суток в формате ‘hh:mm:ss’.

Поделиться с друзьями

Реляционные базы данных и язык SQL

RemarksRemarks

Используйте в следующих предложениях.Use in the following clauses:

  • GROUP BYGROUP BY
  • HAVINGHAVING
  • ORDER BYORDER BY
  • SELECT <list>SELECT <list>
  • WHEREWHERE

В SQL Server 2019 (15.x)SQL Server 2019 (15.x) функция DATENAME неявно приводит строковые литералы к типу datetime2.In SQL Server 2019 (15.x)SQL Server 2019 (15.x), DATENAME implicitly casts string literals as a datetime2 type. Иными словами, не поддерживает формат ГЧМ (год, число, месяц) при передаче даты в виде строки.In other words, does not support the format YDM when the date is passed as a string. Для использования формата ГЧМ (год, число, месяц) необходимо явно привести строку к типу datetime или smalldatetime.You must explicitly cast the string to a datetime or smalldatetime type to use the YDM format.

SQL Справочник

SQL Ключевые слова
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE

MySQL Функции
Функции строк
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE
Функции дат
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK
Функции расширений
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION

SQL Server функции
Функции строк
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN
Функции дат
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR
Функции расширений
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME

MS Access функции
Функции строк
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase
Функции чисел
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val
Функции дат
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year
Другие функции
CurrentUser
Environ
IsDate
IsNull
IsNumeric

SQL ОператорыSQL Типы данныхSQL Краткий справочник

Возвращаемое значениеReturn Value

Каждое выражение datepart и его краткие формы возвращают одно и то же значение.Each datepart and its abbreviations return the same value.

Возвращаемое значение зависит от языка среды, задаваемого инструкцией SET LANGUAGE, и от параметра конфигурации сервера «язык по умолчанию» для имени входа.The return value depends on the language environment set by using SET LANGUAGE, and by the Configure the default language Server Configuration Option of the login. Если значение date является строковым литералом некоторого формата, то возвращаемое значение зависит от функции SET DATEFORMAT.The return value depends on SET DATEFORMAT if date is a string literal of some formats. Инструкция SET DATEFORMAT не изменяет возвращаемое значение, если дата представляется выражением столбца типа данных даты или времени.SET DATEFORMAT does not change the return value when the date is a column expression of a date or time data type.

Ниже представлена таблица соответствия аргументов функции datepart и значений, возвращенных выражением .This table lists all datepart arguments, with corresponding return values, for the statement . Аргумент date имеет тип данных datetimeoffset(7) .The date argument has a datetimeoffset(7) data type. Последние две позиции значения, возвращаемого функцией nanosecond datepart, всегда . Масштаб этого значения составляет 9.The last two positions of the nanosecond datepart return value are always and this value has a scale of 9:

.123456700.123456700

datepartdatepart Возвращаемое значениеReturn value
year, yyyy, yyyear, yyyy, yy 2007 г.2007
quarter, qq, qquarter, qq, q 44
month, mm, mmonth, mm, m 1010
dayofyear, dy, ydayofyear, dy, y 303303
day, dd, dday, dd, d 3030
week, wk, wwweek, wk, ww 4444
weekday, dwweekday, dw 33
hour, hhhour, hh 1212
minute, nminute, n 1515
second, ss, ssecond, ss, s 3232
millisecond, msmillisecond, ms 123123
microsecond, mcsmicrosecond, mcs 123456123456
nanosecond, nsnanosecond, ns 123456700123456700
tzoffset, tztzoffset, tz 310310
iso_week, isowk, isowwiso_week, isowk, isoww 4444

Тематическая реклама

ПримерыExamples

В приведенном ниже примере возвращаются компоненты указанной даты.This example returns the date parts for the specified date. Подставьте значение datepart из таблицы для аргумента в инструкции SELECT:Substitute a datepart value from the table for the argument in the SELECT statement:

Результирующий набор:Here is the result set.

datepartdatepart Возвращаемое значениеReturn value
year, yyyy, yyyear, yyyy, yy 2007 г.2007
quarter, qq, qquarter, qq, q 44
month, mm, mmonth, mm, m ОктябрьOctober
dayofyear, dy, ydayofyear, dy, y 303303
day, dd, dday, dd, d 3030
week, wk, wwweek, wk, ww 4444
weekday, dwweekday, dw ВторникTuesday
hour, hhhour, hh 1212
minute, nminute, n 1515
second, ss, ssecond, ss, s 3232
millisecond, msmillisecond, ms 123123
microsecond, mcsmicrosecond, mcs 123456123456
nanosecond, nsnanosecond, ns 123456700123456700
TZoffset, tzTZoffset, tz +05:10+05:10
ISO_WEEK, ISOWK, ISOWWISO_WEEK, ISOWK, ISOWW 4444

Azure Synapse AnalyticsAzure Synapse Analytics и Параллельное хранилище данныхParallel Data Warehouseand Параллельное хранилище данныхParallel Data Warehouse

В приведенном ниже примере возвращаются компоненты указанной даты.This example returns the date parts for the specified date. Подставьте значение datepart из таблицы для аргумента в инструкции SELECT:Substitute a datepart value from the table for the argument in the SELECT statement:

Результирующий набор:Here is the result set.

datepartdatepart Возвращаемое значениеReturn value
year, yyyy, yyyear, yyyy, yy 2007 г.2007
quarter, qq, qquarter, qq, q 44
month, mm, mmonth, mm, m ОктябрьOctober
dayofyear, dy, ydayofyear, dy, y 303303
day, dd, dday, dd, d 3030
week, wk, wwweek, wk, ww 4444
weekday, dwweekday, dw ВторникTuesday
hour, hhhour, hh 1212
minute, nminute, n 1515
second, ss, ssecond, ss, s 3232
millisecond, msmillisecond, ms 123123
microsecond, mcsmicrosecond, mcs 123456123456
nanosecond, nsnanosecond, ns 123456700123456700
TZoffset, tzTZoffset, tz +05:10+05:10
ISO_WEEK, ISOWK, ISOWWISO_WEEK, ISOWK, ISOWW 4444

Пример

Рассмотрим несколько примеров функции TO_DATE, чтобы понять, как использовать функцию TO_DATE в Oracle/PLSQL.

Oracle PL/SQL

SELECT TO_DATE(‘2019/07/22’, ‘yyyy/mm/dd’) FROM DUAL;

—Результат: 22.07.2019

SELECT TO_DATE(‘072219’, ‘MMDDYY’) FROM DUAL;

—Результат: 22.07.2019

SELECT TO_DATE(‘20190722’, ‘yyyymmdd’) FROM DUAL;

—Результат: 22.07.2019

SELECT TO_DATE(‘30.01.2019 18:30:52’, ‘DD.MM.YYYY HH24:MI:SS’) FROM DUAL;

—Результат: 30.01.2019 18:30:52

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

SELECTTO_DATE(‘2019/07/22′,’yyyy/mm/dd’)FROMDUAL;
 
—Результат:       22.07.2019
 

SELECTTO_DATE(‘072219′,’MMDDYY’)FROMDUAL;
 
—Результат:       22.07.2019
 

SELECTTO_DATE(‘20190722′,’yyyymmdd’)FROMDUAL;
 
—Результат:       22.07.2019
 

SELECTTO_DATE(‘30.01.2019 18:30:52′,’DD.MM.YYYY HH24:MI:SS’)FROMDUAL;
 
—Результат:       30.01.2019 18:30:52

ПримерыExamples

В этом примере возвращается базовый год.This example returns the base year. Его значение используется при расчетах, связанных с датами.The base year helps with date calculations. В примере дата указана как число.In the example, a number specifies the date

Обратите внимание на то, что SQL ServerSQL Server интерпретирует 0 как 1 января 1900 г.Notice that SQL ServerSQL Server interprets 0 as January 1, 1900

В приведенном ниже примере возвращается часть даты , представляющая день.This example returns the day part of the date .

В приведенном ниже примере возвращается часть даты , представляющая год.This example returns the year part of the date .

How to get different SQL Server date formats

  1. Use the date format option along with CONVERT function
  2. To get YYYY-MM-DD use SELECT CONVERT(varchar, getdate(), 23)
  3. To get MM/DD/YYYY use SELECT CONVERT(varchar, getdate(), 1)
  4. Check out the chart to get a list of all format options

Below is a list of formats and an example of the output.  The date used
for all of these examples is «2006-12-30 00:38:54.840».

DATE ONLY FORMATS
Format # Query Sample
1 select convert(varchar, getdate(), 1) 12/30/06
2 select convert(varchar, getdate(), 2) 06.12.30
3 select convert(varchar, getdate(), 3) 30/12/06
4 select convert(varchar, getdate(), 4) 30.12.06
5 select convert(varchar, getdate(), 5) 30-12-06
6 select convert(varchar, getdate(), 6) 30 Dec 06
7 select convert(varchar, getdate(), 7) Dec 30, 06
10 select convert(varchar, getdate(), 10) 12-30-06
11 select convert(varchar, getdate(), 11) 06/12/30
12 select convert(varchar, getdate(), 12) 061230
23 select convert(varchar, getdate(), 23) 2006-12-30
101 select convert(varchar, getdate(), 101) 12/30/2006
102 select convert(varchar, getdate(), 102) 2006.12.30
103 select convert(varchar, getdate(), 103) 30/12/2006
104 select convert(varchar, getdate(), 104) 30.12.2006
105 select convert(varchar, getdate(), 105) 30-12-2006
106 select convert(varchar, getdate(), 106) 30 Dec 2006
107 select convert(varchar, getdate(), 107) Dec 30, 2006
110 select convert(varchar, getdate(), 110) 12-30-2006
111 select convert(varchar, getdate(), 111) 2006/12/30
112 select convert(varchar, getdate(), 112) 20061230
TIME ONLY FORMATS
8 select convert(varchar, getdate(), 8) 00:38:54
14 select convert(varchar, getdate(), 14) 00:38:54:840
24 select convert(varchar, getdate(), 24) 00:38:54
108 select convert(varchar, getdate(), 108) 00:38:54
114 select convert(varchar, getdate(), 114) 00:38:54:840
DATE & TIME FORMATS
select convert(varchar, getdate(), 0) Dec 12 2006 12:38AM
9 select convert(varchar, getdate(), 9) Dec 30 2006 12:38:54:840AM
13 select convert(varchar, getdate(), 13) 30 Dec 2006 00:38:54:840AM
20 select convert(varchar, getdate(), 20) 2006-12-30 00:38:54
21 select convert(varchar, getdate(), 21) 2006-12-30 00:38:54.840
22 select convert(varchar, getdate(), 22) 12/30/06 12:38:54 AM
25 select convert(varchar, getdate(), 25) 2006-12-30 00:38:54.840
100 select convert(varchar, getdate(), 100) Dec 30 2006 12:38AM
109 select convert(varchar, getdate(), 109) Dec 30 2006 12:38:54:840AM
113 select convert(varchar, getdate(), 113) 30 Dec 2006 00:38:54:840
120 select convert(varchar, getdate(), 120) 2006-12-30 00:38:54
121 select convert(varchar, getdate(), 121) 2006-12-30 00:38:54.840
126 select convert(varchar, getdate(), 126) 2006-12-30T00:38:54.840
127 select convert(varchar, getdate(), 127) 2006-12-30T00:38:54.840
ISLAMIC CALENDAR DATES
130 select convert(nvarchar, getdate(), 130)
131 select convert(nvarchar, getdate(), 131) 10/12/1427 12:38:54:840AM

You can also format the date or time without dividing characters, as well as
concatenate the date and time string:

Sample statement Output
select replace(convert(varchar, getdate(),101),’/’,») 12302006
select replace(convert(varchar, getdate(),101),’/’,») + replace(convert(varchar,
getdate(),108),’:’,»)
12302006004426

If you want to get a list of all valid date and time formats, you could use the
code below and change the @date to GETDATE() or any other date you want to use. 
This will output just the valid formats.

DECLARE @counter INT = 0
DECLARE @date DATETIME = '2006-12-30 00:38:54.840'

CREATE TABLE #dateFormats (dateFormatOption int, dateOutput nvarchar(40))

WHILE (@counter <= 150 )
BEGIN
   BEGIN TRY
      INSERT INTO #dateFormats
      SELECT CONVERT(nvarchar, @counter), CONVERT(nvarchar,@date, @counter) 
      SET @counter = @counter + 1
   END TRY
   BEGIN CATCH;
      SET @counter = @counter + 1
      IF @counter >= 150
      BEGIN
         BREAK
      END
   END CATCH
END

SELECT * FROM #dateFormats

Возвращается значение по умолчанию для аргумента функции datepart, который отличен от датыDefault Returned for a datepart That Is Not in the date Argument

Если тип данных аргумента date не содержит указанной части datepart, функция вернет значение по умолчанию для этой части datepart, только если аргумент date содержит литерал.If the data type of the date argument does not have the specified datepart, will return the default for that datepart only if the date argument has a literal .

Например, значение «год-месяц-день» по умолчанию для любого типа данных date равно 1900-01-01.For example, the default year-month-day for any date data type is 1900-01-01. Приведенная ниже инструкция содержит аргументы компонентов даты для datepart, аргумент времени для date, а функция возвращает .This statement has date part arguments for datepart, a time argument for date, and returns .

Если аргумент date указан как переменная или столбец таблицы и тип данных этой переменной или столбца не содержит указанной части datepart, функция возвращает ошибку 9810.If date is specified as a variable or table column, and the data type for that variable or column does not have the specified datepart, will return error 9810. В этом примере переменная @t имеет тип данных time.In this example, variable @t has a time data type. Этот пример завершается ошибкой, потому что год даты не является допустимым для типа данных time:The example fails because the date part year is invalid for the time data type:

ПримерыExamples

A.A. Простой пример функции FORMATSimple FORMAT example

В следующем примере возвращается простой набор данных, отформатированный для различных языков и региональных параметров.The following example returns a simple date formatted for different cultures.

Результирующий набор:Here is the result set.

В следующем примере показано форматирование числовых значений с помощью заданного пользовательского формата.The following example shows formatting numeric values by specifying a custom format. В примере предполагается, что текущая дата — 27 сентября 2012 г.The example assumes that the current date is September 27, 2012. Дополнительные сведения об этих и других пользовательских форматах см. в статье Пользовательские строки форматирования чисел.For more information about these and other custom formats, see Custom Numeric Format Strings.

Результирующий набор:Here is the result set.

В.C. Функция FORMAT с числовыми типамиFORMAT with numeric types

В приведенном ниже примере возвращаются 5 строк из таблицы Sales.CurrencyRate в базе данных AdventureWorks2012AdventureWorks2012.The following example returns 5 rows from the Sales.CurrencyRate table in the AdventureWorks2012AdventureWorks2012 database. Столбец EndOfDateRate в таблице хранится как тип money.The column EndOfDateRate is stored as type money in the table. В этом примере столбец возвращается неформатированным, затем форматируется в формате .NET Number, формате типа General и Currency.In this example, the column is returned unformatted and then formatted by specifying the .NET Number format, General format, and Currency format types. Дополнительные сведения об этих и других числовых форматах см. в статье Стандартные строки форматирования чисел.For more information about these and other numeric formats, see Standard Numeric Format Strings.

Результирующий набор:Here is the result set.

Этот пример задает немецкий язык и региональные параметры (de-de).This example specifies the German culture (de-de).

Г.D. Использование функции FORMAT с типами данных времениFORMAT with time data types

В этих случаях функция FORMAT возвращает значение NULL, так как символы и не экранированы.FORMAT returns NULL in these cases because and are not escaped.

Функция FORMAT возвращает форматированную строку, так как символы и экранированы.Format returns a formatted string because the and are escaped.

Формат возвращает текущее время в формате с AM или PMFormat returns a formatted current time with AM or PM specified

Формат возвращает заданное время с AMFormat returns the specified time, displaying AM

Формат возвращает заданное время с PMFormat returns the specified time, displaying PM

Формат возвращает заданное время в 24-часовом форматеFormat returns the specified time in 24h format

Получение текущих даты и времени

Для получения текущей даты (без времени) в формате YYYY-MM-DD можно использовать функции:

  • CURDATE()
  • CURRENT_DATE()

Для получения текущего времени (без даты) в формате HH:MM:SS можно использовать функции:

  • CURTIME()
  • CURRENT_TIME()

Для получения текущих даты и времени в формате YYYY-MM-DD HH:MM:SS можно использовать любую из следующих функций:

  • NOW()
  • SYSDATE()
  • CURRENT_TIMESTAMP

Пример 1

SELECT CURDATE(); или SELECT CURRENT_DATE();

Результат: 2016-08-28

SELECT CURTIME(); или SELECT CURENT_TIME();

Результат: 19:29:54

SELECT NOW(); или SELECT SYSDATE(); или SELECT CURRENT_TIMESTAMP;

Результат: 2016-08-28 19:29:54

SQL Учебник

SQL ГлавнаяSQL ВведениеSQL СинтаксисSQL SELECTSQL SELECT DISTINCTSQL WHERESQL AND, OR, NOTSQL ORDER BYSQL INSERT INTOSQL Значение NullSQL Инструкция UPDATESQL Инструкция DELETESQL SELECT TOPSQL MIN() и MAX()SQL COUNT(), AVG() и …SQL Оператор LIKESQL ПодстановочныйSQL Оператор INSQL Оператор BETWEENSQL ПсевдонимыSQL JOINSQL JOIN ВнутриSQL JOIN СлеваSQL JOIN СправаSQL JOIN ПолноеSQL JOIN СамSQL Оператор UNIONSQL GROUP BYSQL HAVINGSQL Оператор ExistsSQL Операторы Any, AllSQL SELECT INTOSQL INSERT INTO SELECTSQL Инструкция CASESQL Функции NULLSQL ХранимаяSQL Комментарии

Типы данных Access

Типы данных Access разделяются на следующие группы:

  • Текстовый – максимально 255 байтов.
  • Мемо — до 64000 байтов.
  • Числовой — 1,2,4 или 8 байтов.Для числового типа размер поля м.б. следующим:

    • байт — целые числа от -0 до 255, занимает при хранении 1 байт
    • целое — целые числа от -32768 до 32767, занимает 2 байта
    • длинное целое — целые числа от -2147483648 до 2147483647, занимает 4 байта
    • с плавающей точкой — числа с точностью до 6 знаков от –3,4*1038 до 3,4*1038, занимает 4 байта
    • с плавающей точкой — числа с точностью от –1,797*10308 до 1,797*10308, занимает 8 байт
  • Дата-время — 8 байтов
  • Денежный — 8 байтов, данные о денежных суммах, хранящиеся с 4 знаками после запятой.
  • Счетчик — уникальное длинное целое, генерируемое Access при создании каждой новой записи — 4 байта.
  • Логический — логические данные 1бит.
  • Поле объекта OLE — до 1 гигабайта, картинки, диаграммы и другие объекты OLE из приложений Windows. Объекты OLE могут быть связанными или внедренными.
  • Гиперссылки — поле, в котором хранятся гиперссылки. Гиперссылка может быть либо типа UNC (стандартный формат для указания пути с включением сетевого сервера файлов), либо URL(адрес объекта, документа, страницы или объекта другого типа в Интернете или Интранете. Адрес URL определяет протокол для доступа и конечный адрес).
  • Мастер подстановок — поле, позволяющее выбрать значение из другой таблицы Accesss или из списка значений, используя поле со списком.  Чаще всего используется для ключевых полей. Имеет тот же размер, что и первичный ключ, являющийся также и полем подстановок, обычно 4 байта. (Первичный ключ – одно или несколько полей, комбинация значений которых однозначно определяет каждую запись в таблице Accesss. Не допускает неопределенных .Null. значений, всегда должен иметь уникальный индекс. Служит для связывания таблицы с вторичными ключами других таблиц).

RemarksRemarks

Функция FORMAT возвращает значение NULL для ошибок, когда culture не является valid.FORMAT returns NULL for errors other than a culture that is not valid. Например, NULL возвращается, если значение, заданное в format, недопустимо.For example, NULL is returned if the value specified in format is not valid.

Функция FORMAT не детерминирована.The FORMAT function is nondeterministic.

Функция FORMAT предполагает наличие среды выполнения CLR платформы .NET Framework.FORMAT relies on the presence of the .NET Framework Common Language Runtime (CLR).

Эта функция не может работать удаленно, так как возможность ее работы зависит от наличия среды CLR.This function cannot be remoted since it depends on the presence of the CLR. Удаленный вызов функции, требующей наличия среды CLR, может привести к ошибке на удаленном сервере.Remoting a function that requires the CLR, could cause an error on the remote server.

Функция FORMAT использует правила форматирования среды CLR, согласно которым двоеточия и точки должны экранироваться.FORMAT relies upon CLR formatting rules, which dictate that colons and periods must be escaped. Поэтому когда строка форматирования (второй параметр) содержит двоеточие или точку, они должны быть экранированы обратной косой чертой, если входное значение (первый параметр) имеет тип данных time.Therefore, when the format string (second parameter) contains a colon or period, the colon or period must be escaped with backslash when an input value (first parameter) is of the time data type. См. пример .See .

В приведенной ниже таблице перечислены приемлемые типы данных для аргумента value, а также содержатся сведения об их сопоставлении с эквивалентными типами .NET Framework.The following table lists the acceptable data types for the value argument together with their .NET Framework mapping equivalent types.

КатегорияCategory ТипType Тип .NET.NET type
ЧисловойNumeric BIGINTbigint Int64Int64
ЧисловойNumeric INTint Int32Int32
ЧисловойNumeric smallintsmallint Int16Int16
ЧисловойNumeric tinyinttinyint ByteByte
ЧисловойNumeric Decimaldecimal SqlDecimalSqlDecimal
ЧисловойNumeric NUMERICnumeric SqlDecimalSqlDecimal
ЧисловойNumeric FLOATfloat DoubleDouble
ЧисловойNumeric realreal ОдинSingle
ЧисловойNumeric smallmoneysmallmoney DecimalDecimal
ЧисловойNumeric moneymoney DecimalDecimal
Дата и времяDate and Time Датаdate Дата и времяDateTime
Дата и времяDate and Time timetime TimeSpanTimeSpan
Дата и времяDate and Time DATETIMEdatetime Дата и времяDateTime
Дата и времяDate and Time smalldatetimesmalldatetime Дата и времяDateTime
Дата и времяDate and Time datetime2datetime2 Дата и времяDateTime
Дата и времяDate and Time datetimeoffsetdatetimeoffset DateTimeOffsetDateTimeOffset

ПримерыExamples

Б.B. Изменение смещения часового пояса в минутахChanging the time zone offset in minutes

В следующем примере текущий часовой пояс изменяется на минут.The following example changes the current time zone to minutes.

В.C. Добавление 13-часового смещения часового поясаAdding a 13-hour time zone offset

В следующем примере 13-часовое смещение часового пояса добавляется к дате и времени.The following example adds a 13-hour time zone offset to a date and time.

Синтаксис

Синтаксис функции Oracle/PLSQL TO_DATE:

TO_DATE( string1, , )

Параметры или аргументы

string1 это строка, которая будет преобразована в дату.

format_mask не является обязательным. Это формат, который будет использоваться для преобразования string1 к дате. Это может быть одно или сочетание следующих значений:

Параметр Пояснение
YYYY 4-х значный год
YYY YY Y Последние 3, 2 или 1 цифры(а) года.
IYY IY I Последние 3, 2 или 1 цифры(а) года ISO.
IYYY 4-значный год в соответствии со стандартом ISO
RRRR Принимает год с 2 цифрами и возвращает год с 4 цифрами. Значение между 0-49 вернет 20xx год. Значение между 50-99 вернет 19xx год.
Q Квартал года (1, 2, 3, 4; JAN-MAR = 1).
MM Месяц (01-12; JAN = 01).
MON Сокращенное название месяца.
MONTH Название месяца, дополненное пробелами длиной до 9 символов.
RM Римская цифра RM (I-XII; JAN = I).
WW Неделя года (1-53), где неделя 1 начинается в первый день года и продолжается до седьмого дня года.
W Неделя месяца (1-5), где 1-я неделя начинается в первый день месяца и заканчивается седьмым.
IW Неделя года (1-52 или 1-53) на основе стандарта ISO.
D День недели (1-7).
DAY Название дня.
DD День месяца (1-31).
DDD День года (1-366).
DY Сокращенное название дня.
J Юлианский день; количество дней с 1 января 4712 г. до н.э.
HH Час дня (1-12).
HH12 Час дня (1-12).
HH24 Час дня (0-23).
MI Минута (0-59).
SS Секунда (0-59).
SSSSS Секунды после полуночи (0-86399).
FF Дробные секунды. Используйте значение от 1 до 9 после FF, чтобы указать количество цифр в долях секунды. Например, ‘FF4’.
AM, A.M., PM, или P.M. Индикатор меридиана.
AD или A.D AD индикатор.
BC или B.C. BC индикатор.
TZD Летнее время информация. Например, ‘PST’
TZH Часовой пояс час.
TZM Часовой пояс минуты.
TZR Часовой пояс региона.

nls_language не является обязательным. NLS language используется для преобразования string1 к дате.

Применение

Функцию TO_DATE можно использовать в следующих версиях Oracle/PLSQL:

Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector