Как посмотреть тип данных в таблице sql
Перейти к содержимому

Как посмотреть тип данных в таблице sql

  • автор:

Типы данных (Transact-SQL)

В SQL Server у каждого столбца, локальной переменной, выражения и параметра есть определенный тип данных. Тип данных — атрибут, определяющий, какого рода данные могут храниться в объекте: целые числа, символы, данные денежного типа, метки времени и даты, двоичные строки и так далее.

SQL Server предоставляет набор системных типов данных, которые определяют все возможные типы данных для использования в SQL Server. Вы также можете определить собственные типы данных в Transact-SQL или Microsoft .NET Framework. Псевдонимы типов данных основываются на системных типах. Дополнительные сведения о псевдонимах типов данных см. в статье CREATE TYPE (Transact-SQL). Пользовательские типы данных обладают свойствами, зависящими от методов и операторов класса, который создается на одном из языков программирования, поддерживаемых .NET Framework.

При объединении одним оператором двух выражений с разными типами данных, параметрами сортировки, точностями, масштабами или длинами, результат определяется следующим образом.

  • Тип данных результата определяется применением правил очередности типов данных к входным выражениям. Дополнительные сведения см. в разделе Приоритет типов данных (Transact-SQL).
  • Параметры сортировки результата определяются правилами очередности параметров сортировки, если тип данных результата — char, varchar, text, nchar, nvarchar или ntext. Дополнительные сведения см. в разделе Очередность параметров сортировки (Transact-SQL).
  • Точность, масштаб и длина результата зависят от точности, масштаба и длины входных выражений. Дополнительные сведения см. в разделе Точность, масштаб и длина (Transact-SQL).

SQL Server предоставляет синонимы типов данных для совместимости со стандартом ISO. Дополнительные сведения см. в статье Синонимы типов данных (Transact-SQL).

Дополнительные сведения о типах данных в Azure Synapse Analytics см. в статье Типы данных таблицы в Synapse SQL. Дополнительные сведения о типах данных в Microsoft Fabric см. в разделе Тип данных.

Категории типов данных

Типы данных в SQL Server объединены в следующие категории:

Типы данных и функции даты и времени (Transact-SQL)

В разделах этой статьи представлен обзор всех типов данных и функций даты и времени Transact-SQL.

  • Типы данных даты и времени
  • Функции даты и времени
    • Функции, возвращающие значения системной даты и времени
    • Функции, возвращающие компоненты даты и времени
    • Функции, возвращающие значения даты и времени из их компонентов
    • Функции, возвращающие значения разности даты и времени
    • Функции, изменяющие значения даты и времени
    • Функции, устанавливающие или возвращающие функции формата сеанса
    • Функции, проверяющие значения даты и времени

    Типы данных даты и времени

    Типы данных даты и времени Transact-SQL перечислены в следующей таблице:

    Тип данных Формат Диапазон Точность Объем памяти (в байтах) Определяемая пользователем точность в долях секунды Смещение часового пояса
    time чч:мм:сс[.ннннннн] От 00:00:00.0000000 до 23:59:59.9999999 100 наносекунд от 3 до 5 Да Нет
    date ГГГГ-ММ-ДД От 0001-01-01 до 31.12.99 1 день 3 Нет Нет
    smalldatetime ГГГГ-ММ-ДД чч:мм:сс От 01.01.1900 до 06.06.2079 1 минута 4 нет Нет
    datetime ГГГГ-ММ-ДД чч:мм:сс[.ннн] От 01.01.1753 до 31.12.9999 0,00333 секунды 8 Нет Нет
    datetime2 ГГГГ-ММ-ДД чч:мм:сс[.ннннннн] От 0001-01-01 00:00:00.0000000 до 9999-12-31 23:59:59.9999999 100 наносекунд От 6 до 8 Да Нет
    datetimeoffset ГГГГ-ММ-ДД чч:мм:сс[.ннннннн] [+|-]чч:мм От 0001-01-01 00:00:00.0000000 до 9999-12-31 23:59:59.9999999 (время в формате UTC) 100 наносекунд От 8 до 10 Да Да

    Тип данных Transact-SQL rowversion не относится к типам данных даты и времени. Тип данных timestamp является устаревшим синонимом rowversion.

    Функции даты и времени

    В следующих таблицах приводятся функции даты и времени Transact-SQL. Дополнительные сведения о детерминизме см. в статье Детерминированные и недетерминированные функции.

    Функции, возвращающие значения системной даты и времени

    Transact-SQL наследует все значения системной даты и времени от операционной системы компьютера, на котором работает экземпляр SQL Server.

    Высокоточные функции системной даты и времени

    Начиная с SQL Server 2008 (10.0.x) ядро СУБД получает значения даты и времени с помощью API Windows GetSystemTimeAsFileTime(). Точность зависит от физического оборудования и версии Windows, в которой запущен экземпляр SQL Server. Точность возвращаемых значений этого API-интерфейса задана равной 100 нс. Точность может быть определена с помощью метода GetSystemTimeAdjustment() API-интерфейса Windows.

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    SYSDATETIME SYSDATETIME ( ) Возвращает значение типа datetime2(7), которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Возвращаемое значение не содержит смещение часового пояса. datetime2(7) Недетерминированная
    SYSDATETIMEOFFSET SYSDATETIMEOFFSET ( ) Возвращает значение типа datetimeoffset(7), которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Возвращаемое значение содержит смещение часового пояса. datetimeoffset(7) Недетерминированная
    SYSUTCDATETIME SYSUTCDATETIME ( ) Возвращает значение типа datetime2(7), которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Функция возвращает значения даты и времени в формате UTC. datetime2(7) Недетерминированная
    Функции системной даты и времени меньшей точности
    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    CURRENT_TIMESTAMP CURRENT_TIMESTAMP Возвращает значение типа datetime, которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Возвращаемое значение не содержит смещение часового пояса. datetime Недетерминированная
    GETDATE GETDATE ( ) Возвращает значение типа datetime, которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Возвращаемое значение не содержит смещение часового пояса. datetime Недетерминированная
    GETUTCDATE GETUTCDATE ( ) Возвращает значение типа datetime, которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Функция возвращает значения даты и времени в формате UTC. datetime Недетерминированная

    Функции, возвращающие компоненты даты и времени

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    DATE_BUCKET DATE_BUCKET ( datepart, number, date, origin ) Возвращает значение даты и времени, соответствующее началу каждого контейнера даты и времени, из временной метки, определенной параметром origin или исходным значением по умолчанию 1900-01-01 00:00:00.000 , если параметр orgin не указан. Тип возвращаемого значения зависит от типа аргумента, переданного в параметре date. Недетерминированная
    DATENAME DATENAME ( datepart, date ) Возвращает строку символов, представляющую указанную часть datepart заданного типа date. nvarchar Недетерминированная
    DATEPART DATEPART ( datepart, date ) Возвращает целое число, представляющее указанную часть datepart заданного типа date. int Недетерминированная
    DATETRUNC DATETRUNC ( datepart, date ) Эта функция возвращает входную дату date, усеченную до указанной части datepart. Тип возвращаемого значения зависит от типа аргумента, переданного в параметре date. Недетерминированная
    DAY DAY ( date ) Возвращает целое число, представляющее часть дня указанного типа date. int Детерминированный
    MONTH MONTH ( date ) Возвращает целое число, представляющее часть месяца указанного типа date. int Детерминированный
    YEAR YEAR ( date ) Возвращает целое число, представляющее часть года указанного типа date. int Детерминированный

    Функции, возвращающие значения даты и времени из их компонентов

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    DATEFROMPARTS DATEFROMPARTS ( year, month, day ) Возвращает значение date, соответствующее указанному числу, месяцу и году. date Детерминированный
    DATETIME2FROMPARTS DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision) Возвращает значение datetime2, соответствующее указанной дате и времени с заданной точностью. datetime2(precision) Детерминированный
    DATETIMEFROMPARTS DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds) Возвращает значение datetime, соответствующее указанной дате и времени. datetime Детерминированный
    DATETIMEOFFSETFROMPARTS DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision) Возвращает значение datetimeoffset для указанных даты и времени с указанными смещением и точностью. datetimeoffset(precision) Детерминированный
    SMALLDATETIMEFROMPARTS SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) Возвращает значение smalldatetime, соответствующее указанной дате и времени. smalldatetime Детерминированный
    TIMEFROMPARTS TIMEFROMPARTS ( hour, minute, seconds, fractions, precision ) Возвращает значение time, соответствующее указанному времени с заданной точностью. time(precision) Детерминированный

    Функции, возвращающие значения разности даты и времени

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    DATEDIFF DATEDIFF ( datepart, startdate, enddate ) Возвращает количество границ даты или времени datepart, пересекающихся между двумя указанными датами. int Детерминированный
    DATEDIFF_BIG DATEDIFF_BIG ( datepart, startdate, enddate ) Возвращает количество границ даты или времени datepart, пересекающихся между двумя указанными датами. bigint Детерминированный

    Функции, изменяющие значения даты и времени

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    DATEADD DATEADD (datepart, number, date ) Возвращает новое значение datetime, добавляя интервал к указанной части datepart заданной даты date. Тип данных аргумента date Детерминированный
    EOMONTH EOMONTH ( start_date [, month_to_add ] ) Возвращает последний день месяца, содержащего указанную дату, с необязательным смещением. Тип возвращаемого значения — это тип аргумента start_date или тип данных date. Детерминированный
    SWITCHOFFSET SWITCHOFFSET (DATETIMEOFFSET, time_zone) Функция SWITCHOFFSET изменяет смещение часового пояса для значения DATETIMEOFFSET и сохраняет значение UTC. Значение datetimeoffset с точностью в долях секунд, заданной в аргументе DATETIMEOFFSET Детерминированный
    TODATETIMEOFFSET TODATETIMEOFFSET (expression, time_zone) TODATETIMEOFFSET преобразует значение типа datetime2 в значение типа datetimeoffset. Функция TODATETIMEOFFSET преобразует значение datetime2 в местное время для указанного time_zone. Значение datetimeoffset с точностью в долях секунд, заданной в аргументе datetime Детерминированный

    Функции, устанавливающие или возвращающие функции формата сеанса

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    @@DATEFIRST @@DATEFIRST Возвращает текущее значение параметра SET DATEFIRST для сеанса. tinyint Недетерминированная
    SET DATEFIRST SET DATEFIRST < number | @number_var > Устанавливает первый день недели в виде числа от 1 до 7. Неприменимо Неприменимо
    SET DATEFORMAT SET DATEFORMAT < format | @format_var > Задает порядок составляющих даты (месяц/день/год) для ввода данных типа datetime или smalldatetime. Неприменимо Неприменимо
    @@LANGUAGE @@LANGUAGE Возвращает название использующегося в настоящий момент языка. @@LANGUAGE не является функцией даты или времени. Однако на данные, выводимые функциями даты, могут повлиять настройки языка. Неприменимо Неприменимо
    SET LANGUAGE SET LANGUAGE < [ N ] language | @language_var > Устанавливает языковую среду сеанса и системных сообщений. SET LANGUAGE не является функцией даты или времени. Однако на данные, выводимые функциями даты, влияет параметр языка. Неприменимо Неприменимо
    sp_helplanguage sp_helplanguage [ [ = ] language ] Возвращает сведения о формате даты всех поддерживаемых языков. sp_helplanguage не является хранимой процедурой даты или времени. Однако на данные, выводимые функциями даты, влияет параметр языка. Неприменимо Неприменимо

    Функции, проверяющие значения даты и времени

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    ISDATE ISDATE ( expression ) Определяет, является ли входное выражение типа datetime или smalldatetime допустимым значением даты или времени. int Функция ISDATE детерминирована, только если используется совместно с функцией CONVERT и если заданный параметр стиля CONVERT не равен 0, 100, 9 или 109.

    Дата и время — см. также

    Статья Описание
    FORMAT Возвращает значение в указанных формате и культуре (не обязательно). Для выполнения форматирования значения даты, времени и чисел с учетом локали в виде строк используется функция FORMAT.
    Функции CAST и CONVERT (Transact-SQL) Предоставляет сведения о преобразовании значений даты и времени в строковые литералы и обратно, а также в другие форматы даты и времени.
    Написание инструкций Transact-SQL, адаптированных к международному использованию Предоставляет рекомендации относительно переносимости баз данных и приложений баз данных, использующих инструкции Transact-SQL, с одного языка на другой или в многоязычную среду.
    Скалярные функции ODBC (Transact-SQL) Предоставляет сведения о скалярных функциях ODBC, которые могут использоваться в инструкциях Transact-SQL. К ним относятся функции даты и времени ODBC.
    AT TIME ZONE (Transact-SQL) Обеспечивает преобразование часовых поясов.

    См. также

    • Функции
    • Типы данных (Transact-SQL)

    Sql тип значения

    Пример не самый удачный, но для понимания, что мне нужно Да, можно посмотреть структуру таблицы и понять тип, но есть ли функция для того, чтобы оракл сам вывел, какой тип будет храниться в переменной? Или такого нет в оракле?

    Отслеживать
    задан 11 окт 2023 в 21:03
    Ассоциация: stackoverflow.com/questions/1087161/oracle-identify-data-type
    12 окт 2023 в 4:18

    1 ответ 1

    Сортировка: Сброс на вариант по умолчанию

    Можно воспользоваться функцией DUMP, которая позволит узнать тип поля. Туториал — https://oracleplsql.ru/dump-function.html

    Отслеживать
    ответ дан 12 окт 2023 в 8:03
    New but Blue New but Blue
    127 6 6 бронзовых знаков

    • sql
    • oracle
      Важное на Мете
    Похожие

    Подписаться на ленту

    Лента вопроса

    Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

    Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.29.8372

    Как узнать тип данных SQL: 5 простых способов

    Чтобы посмотреть тип данных в SQL, вы можете использовать оператор DESCRIBE или DESC , который позволяет просмотреть структуру таблицы. Вот пример использования:

     DESCRIBE your_table_name; 
     DESC your_table_name; 

    Вы также можете использовать оператор SHOW COLUMNS для просмотра информации о столбцах в таблице:

     SHOW COLUMNS FROM your_table_name; 

    Детальный ответ

    Привет! В данной статье мы разберем, как посмотреть тип данных в SQL. Здесь я подробно объясню, как использовать SQL запросы для определения типа данных в таблице и в столбце. Для лучшего понимания, я также предоставлю примеры кода.

    Получение типа данных в столбце

    Для того, чтобы узнать тип данных в конкретном столбце таблицы, можно использовать ключевое слово DESCRIBE или SHOW . Оба ключевых слова выполняют одну и ту же функцию, но в разных СУБД может быть использовано разное ключевое слово. Вот пример:

    DESCRIBE table_name;

    В этом примере вам нужно заменить table_name на имя вашей таблицы. Это запрос покажет вам информацию о столбцах в таблице, включая их имена и типы данных. В других СУБД, например, в MySQL, вы можете использовать ключевое слово SHOW . Вот как это выглядит:

    SHOW COLUMNS FROM table_name;

    Снова, не забудьте заменить table_name на ваше собственное имя таблицы.

    Получение типа данных таблицы

    Если вас интересует не только тип данных в отдельном столбце, но и типы данных во всей таблице, вы можете использовать информационную схему ( INFORMATION_SCHEMA ). Вот как это можно сделать:

    SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'your_table_name';

    В этом запросе вы должны заменить your_table_name на имя вашей таблицы. Он вернет список столбцов в таблице и их соответствующие типы данных.

    Дополнительные сведения о типах данных

    • INTEGER: целочисленный тип данных, используется для хранения целых чисел.
    • FLOAT: тип данных с плавающей точкой, используется для хранения десятичных чисел.
    • CHAR: символьный тип данных, используется для хранения строк фиксированной длины.
    • VARCHAR: переменный символьный тип данных, используется для хранения строк переменной длины.
    • DATE: тип данных для хранения даты.
    • TIME: тип данных для хранения времени.

    Это только несколько примеров типов данных, но на самом деле их гораздо больше. В каждой СУБД может быть своя специфика, поэтому рекомендую обратиться к документации для получения подробной информации о доступных типах данных.

    Заключение

    В этой статье мы рассмотрели, как посмотреть тип данных в SQL. Мы рассмотрели методы для получения информации о типе данных в отдельном столбце таблицы и во всей таблице. Мы также рассмотрели несколько общих типов данных, которые часто используются в SQL.

    Надеюсь, что эта статья была полезной и помогла вам лучше понять работу с типами данных в SQL!

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

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