Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL Server

SQL Server의 TRY_CONVERT 함수

이 문서에서는 SQL Server의 TRY_CONVERT 데이터 형식 변환 함수를 특정 구문과 예제와 함께 사용하여 함수를 더 잘 시각화하고 캡처하는 방법을 자세히 보여줍니다.

설명

TRY_CONVERT 함수 SQL Server에서 표현식을 원하는 데이터 형식으로 변환할 수 있지만 특정 형식(특히 날짜 데이터 형식의 경우)을 따를 수 있습니다. 변환이 실패하면 TRY_CONVERT는 NULL을 반환하고, 그렇지 않으면 해당 변환 값을 반환합니다.

구문

SQL Server에서 TRY_CONVERT 함수를 사용하려면 다음 구문을 사용합니다.

 TRY_CONVERT(kieudulieu(do_dai), bieuthuc, dinh_dang) 

매개변수 :

  1. 키우둘리외: 표현식이 변환될 새 데이터 유형 이름입니다. 다음 중 하나일 수 있습니다. bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary 또는 이미지.
  2. 도다이 (선택 사항):char, varchar, nchar, nvarchar, binary 및 varbinary 결과의 데이터 유형 길이
  3. 비우투크: 다른 데이터 유형으로 변환할 값은 테이블의 열 이름이거나 새 데이터 유형으로 변환해야 하는 계산 표현식일 수도 있습니다.
  4. 딘당 (선택):날짜 형식에서 문자열 형식으로 데이터를 변환하는 형식을 지정하는 숫자입니다. 아래 표는 TRY_CONVERT 함수에 사용되는 몇 가지 일반적인 형식을 설명합니다.
연도 형식
(연도) 연도 형식
(연도) 디스플레이 데이터 0 100 mon dd yyyy hh:miAM / PM(기본값) 1 101 mm / dd / yyyy(미국 표준) 2 102 yy.mm.dd(ANSI 표준) 3 103 dd/mm/yy(영국/프랑스 표준 4 104 dd .mm.yy(독일 표준) 5 105 dd-mm-yy(이탈리아 표준) 6 106 dd mon yy 7 107 Mon dd, yy 8 108 hh:mi:ss 9 109 mon dd yyyy hh:mi:ss:mmmAM / PM 10 110 mm-ddyy(미국 표준) 11 111 yy / mm / dd(일본 표준) 12 112 yymmdd(ISO 표준) 13 113 dd mon yyyy hh:mi:ss:mmm(유럽 표준 - 24시간제) 141 hh:mi:ss:mmm(24시간제) 20 120 yyyy-mm-dd hh:mi:ss(ODBC 표준 - 24시간제) 21 121 yyyy-mm-dd hh :mi:ss:mmm(ODBC 표준 - 24시간제) 126 yyyy-mm-ddThh:mi:ss:mmm(ISO8601 표준) 127 yyyy-mm-ddThh:mi:ss:mmmZ(ISO8601 표준) 130 dd y yyyy hh:mi:ss:mmmAM 회교 표준) 131 dd / mm / yy hh:mi:ss:mmmAM / PM(회교 표준)

참고 :

  1. float 또는 숫자 데이터 유형을 int 정수로 변환할 때 TRY_CONVERT는 소수점 이하 부분을 자릅니다.
  2. CAST 및 CONVERT, TRY_CAST 함수도 참조하십시오.
  3. TRY_CONVERT는 이후 버전의 SQL Server(SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012)에서 사용할 수 있습니다.

예를 들어

SQL Server에서 TRY_CONVERT 함수의 몇 가지 예를 살펴보고 탐색하십시오.

 SELECT TRY_CONVERT(int, 14.85); 
Result: 14
(kết quả là một giá trị int bị cắt phần thập phân)


SELECT TRY_CONVERT(float, 14.85);
Result: 14.85
(kết quả được trả về dưới dạng giá trị float và không bị cắt ngắn)


SELECT TRY_CONVERT(float, '14 Main St.');
Result: NULL
(kết quả là NULL vì không thể chuyển đổi giá trị chuỗi này thành float)


SELECT TRY_CONVERT(varchar, 15.6);
Result: '15.6'
(kết quả được trả về dưới dạng varchar)


SELECT TRY_CONVERT(varchar(2), 15.6);
Result: NULL
(kết quả là NULL vì chuyển đổi không thành công do giá trị không phù hợp với
varchar độ dài 2 ký tự)


SELECT TRY_CONVERT(datetime, '2018-09-13');
Result: '2018-09-13 00:00:00.000'
(kết quả được trả về dưới dạng datetime)


SELECT TRY_CONVERT(varchar, '2018-09-13', 101);
Result: '09/13/2018'
(kết quả được trả về dưới dạng varchar với kiểu 101 - mm/dd/yyyy (tiêu chuẩn Hoa Kỳ))