Поиск…


TRY PARSE

SQL Server 2012

Он преобразует строковый тип данных в целевой тип данных (Date или Numeric).

Например, исходные данные являются строковыми типами, и нам нужно скрывать тип даты. Если попытка конверсии не удалась, она возвращает значение NULL.

Синтаксис: TRY_PARSE (string_value AS data_type [ИСПОЛЬЗОВАНИЕ культуры])

String_value - аргумент является значением источника, которое является типом NVARCHAR (4000).
Data_type - этот аргумент является типом данных цели или даты или числа.
Культура. Это необязательный аргумент, который помогает преобразовать значение в формат Culture. Предположим, вы хотите отобразить дату на французском языке, тогда вам нужно передать тип культуры как «Fr-FR». Если вы не пройдете какое-либо действительное название культуры, PARSE вызовет ошибку.

DECLARE @fakeDate AS varchar(10);  
DECLARE @realDate AS VARCHAR(10);  
SET @fakeDate = 'iamnotadate'; 
SET @realDate = '13/09/2015';   

SELECT TRY_PARSE(@fakeDate AS DATE); --NULL  as the parsing fails

SELECT TRY_PARSE(@realDate AS DATE); -- NULL due to type mismatch

SELECT TRY_PARSE(@realDate AS DATE USING 'Fr-FR'); -- 2015-09-13 

TRY CONVERT

SQL Server 2012

Он преобразует значение в указанный тип данных, и если преобразование не выполняется, оно возвращает NULL. Например, исходное значение в формате строки, и нам нужен формат даты / целого. Тогда это поможет нам достичь того же.

Синтаксис: TRY_CONVERT (data_type [(длина)], выражение [, style])

TRY_CONVERT () возвращает значение, присвоенное указанному типу данных, если преследование преуспевает; в противном случае возвращает null.


Data_type - тип данных, в который нужно преобразовать. Здесь length - необязательный параметр, который помогает получить результат в указанной длине.
Выражение - значение, которое нужно преобразовать
Стиль. Это необязательный параметр, который определяет форматирование. Предположим, вам нужен формат даты, например «18 мая 2013 года», тогда вам нужно пройти стиль «111».

DECLARE @sampletext AS VARCHAR(10);  
SET @sampletext = '123456';  
DECLARE @ realDate AS VARCHAR(10);  
SET @realDate = '13/09/2015’;  
SELECT TRY_CONVERT(INT, @sampletext); -- 123456  
SELECT TRY_CONVERT(DATETIME, @sampletext); -- NULL  
SELECT TRY_CONVERT(DATETIME, @realDate, 111); -- Sep, 13 2015  

ПОПРОБУЙТЕ CAST

SQL Server 2012

Он преобразует значение в указанный тип данных, и если преобразование не выполняется, оно возвращает NULL. Например, исходное значение в формате строки, и нам нужно его в формате double / integer. Тогда это поможет нам в достижении этого.

Синтаксис: TRY_CAST (выражение AS data_type [(длина)])

TRY_CAST () возвращает значение, отлитое к указанному типу данных, если листинг преуспевает; в противном случае возвращает null.

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

DECLARE @sampletext AS VARCHAR(10);  
SET @sampletext = '123456';  
  
SELECT TRY_CAST(@sampletext AS INT); -- 123456  
SELECT TRY_CAST(@sampletext AS DATE); -- NULL  

В ролях

Функция Cast () используется для преобразования переменной типа данных или данных из одного типа данных в другой тип данных.

Синтаксис

CAST ([выражение] AS Тип данных)

Тип данных, к которому вы выполняете выражение, является типом цели. Тип данных выражения, из которого вы выполняете литье, является типом источника.

DECLARE @A varchar(2)    
DECLARE @B varchar(2)

set @A='25a'    
set @B='15'

Select CAST(@A as int) + CAST(@B as int)  as Result 
--'25a' is casted to 25 (string to int)
--'15' is casted to 15 (string to int)

--Result 
 --40

DECLARE @C varchar(2)  = 'a'    

select CAST(@C as int) as Result    
--Result
 --Conversion failed when converting the varchar value 'a' to data type int.

Выдает ошибку, если не удалось

Перерабатывать

Когда вы конвертируете выражения из одного типа в другой, во многих случаях в хранимой процедуре или другой подпрограмме потребуется преобразовать данные из типа datetime в тип varchar. Функция Convert используется для таких вещей. Функция CONVERT () может использоваться для отображения данных даты и времени в различных форматах. Синтаксис

CONVERT (data_type (длина), выражение, стиль)

Значения стиля стиля для преобразования даты или времени в символьные данные. Добавьте 100 к значению стиля, чтобы получить четырехместный год, который включает в себя век (yyyy).

select convert(varchar(20),GETDATE(),108) 

13:27:16


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow