Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Матрица преобразования.




 

Конвертированиечисел в символьные данные, для этого используется специализированная функция STR.

Возвращает символьные данные, преобразованные из числовых данных.

Синтаксис:

STR ( float_expression [, length [, decimal ] ] )

Аргументы:

float_expression - Выражение приближенного числового (float) типа данных с десятичной запятой.

length - Общая длина. Она включает десятичную запятую, знак, цифры и пробелы. Значение по умолчанию 10.

decimal - Количество знаков справа от десятичной запятой. Аргумент decimal должен быть меньше или равен 16. Если аргумент decimal больше 16, результат усекается до 16 знаков после запятой.

Типы возвращаемых данных: char

Пример:

SELECT STR(123.45, 5, 1)

GO

Результат:

123.5

 

Для выполнения других преобразованийSQL Server предлагает универсальные функции CONVERT и CAST, с помощью которых значения одного типапреобразовываются в значения другого типа, если такие изменения вообще возможны.

CONVERT и CAST примерно одинаковы и могут быть взаимозаменяемыми. Функция CAST включена в стандарт ANSI, CONVERT- нет.

 

CAST ( expression AS data_type [ ( length ) ] )

 

CONVERT ( data_type [ ( length ) ], expression [, style ] )

data_type - Целевой тип данных. Псевдонимы типов данных недопустимы.

length - Необязательный параметр для типов данных nchar, nvarchar, char, varchar, binary и varbinary. Если в функции CONVERT аргумент length не указан, его значение по умолчанию — 30 символов.

С помощью аргумента style (стиль) можно управлять стилем представления значений следующих типов данных: дата/время, денежныйилинецелочисленный.

style - Стиль формата даты, используемого для преобразования типов datetime и smalldatetime в символьные данные (типов nchar, nvarchar, char, varchar, nchar или nvarchar), либо для преобразования символьных данных известных форматов даты и времени в данные типов datetime и smalldatetime; либо строковый формат, используемый для преобразования данных типов float, real, money и smallmoney в символьные данные (типов nchar, nvarchar, char, varchar, nchar и nvarchar). Если аргумент style имеет значение NULL, возвращаемый результат также будет NULL.

Некоторые допустимые значения этого аргумента приведены в таблицах.

Таблица. Значение аргумента «style» для типов данных DATETIME и SMALLDATETIME.

Стиль Формат символьного значения
  mm/dd/yy
  yy.mm.dd
  dd/mm/yy
  dd.mm/yy
  dd-mm-yy
  hh:mm:ss
  mm-dd-yy
  yy/mm/dd

 

Таблица. Значение аргумента «стиль» для типов данных FLOAT и REAL.

Стиль Поведение
  Максимум 6 цифр
  Всегда 8 цифр
  Всегда 16 цифр

 

Дополнительно см. документацию.

 

SET QUOTED_IDENTIFIER on

SET DATEFORMAT dmy

DECLARE @d DateTime, @str char(20)

SET @str= 'asdfghjklasdfghjklhg'

SELECT @str

Результат: asdfghjklasdfghjklhg

 

set @d ='31.01.2005'

SELECT @d

Результат: 2005-01-31 00:00:00.000

 

SET @d = @d+1

SELECT @d

Результат: 2005-02-01 00:00:00.000

 

SET @str = CAST(@d AS Char(20))

SELECT @str

Результат: Feb 1 2005 12:00AM

 

SET @str= '31.01.2005'

SET @d = CAST(@str AS DateTime)

SELECT @d

Результат: 2005-01-31 00:00:00.000

CONVERT:

SET QUOTED_IDENTIFIER on

DECLARE @myval decimal (5, 2)

SET @myval = 193.57

SELECT CONVERT(decimal(10,5), @myval)

Результат: 193.57000

 

DECLARE @d DateTime, @str char(20)

SET @d = '31.01.2005 13:23:15'

SET @str = Convert(Char(20), @d)

SELECT @str

Результат: Jan 31 2005 1:23PM

 

DECLARE @d DateTime, @str char(20)

SET @str = '31.01.2005 13:23:15'

SET @d = Convert(DateTime, @str)

SELECT @str

Результат:

31.01.2005 13:23:15

 

Пример: измененныйSET DATEFORMAT mdy

SET QUOTED_IDENTIFIER on

SET DATEFORMAT mdy

DECLARE @d DateTime, @str char(20)

SET @str= 'asdfghjklasdfghjklhg'

SELECT @str

Результат: asdfghjklasdfghjklhg

 

set @d ='01.31.2005'

SELECT @d

Результат: 2005-01-31 00:00:00.000

 

SET @d = @d+1

SELECT @d

Результат: 2005-02-01 00:00:00.000

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...