«t-sql» 태그된 질문

Transact-SQL (T-SQL)은 Microsoft SQL Server 및 SAP의 Sybase에서 사용하는 SQL의 방언입니다.

2
숫자가 아닌 문자를 문자열에서 어떻게 제거 할 수 있습니까?
사용자는 상자에 검색어를 입력하면 해당 값이 저장 프로 시저로 전달되고 데이터베이스의 몇 가지 다른 필드에 대해 검사됩니다. 이러한 필드가 항상 동일한 데이터 유형 인 것은 아닙니다. 하나의 필드 (전화 번호)는 모든 숫자로 구성되므로이를 확인할 때 .Net CLR 기능을 사용하여 문자열에서 숫자가 아닌 모든 문자를 제거합니다. SELECT dbo.RegexReplace('(123)123-4567', '[^0-9]', '') 문제는이 …

5
쉼표로 열을 분할하는 T SQL 테이블 값 함수
Microsoft SQL Server 2008에서 테이블 값 함수를 작성하여 데이터베이스에서 쉼표로 구분 된 열을 사용하여 각 값에 대해 별도의 행을 뱉었습니다. 예 : "one, two, three, four"는 다음 값을 포함하는 열이 하나만있는 새 테이블을 반환합니다. one two three four 이 코드는 오류가 발생하기 쉽습니까? 내가 테스트 할 때 SELECT * FROM …

3
TSQL 성능-최소 및 최대 값에 합류
저장하는 두 개의 테이블이 있습니다. IP 범위-국가 조회 테이블 다른 IP에서 온 요청 목록 bigint조회 성능을 향상시키기 위해 IP를 s로 저장했습니다 . 이것은 테이블 구조입니다. create table [dbo].[ip2country]( [begin_ip] [varchar](15) NOT NULL, [end_ip] [varchar](15) NOT NULL, [begin_num] [bigint] NOT NULL, [end_num] [bigint] NOT NULL, [IDCountry] [int] NULL, constraint [PK_ip2country] PRIMARY …

2
저장 프로 시저를 만들 때 테이블이 있어도 지연된 이름 확인을 강제 할 수 있습니까?
SQL Server에서 저장 프로 시저를 만들 때 존재하지 않는 테이블을 참조 할 수 있습니다. 그러나 테이블이 존재하는 경우 프로 시저에서 참조하는 모든 열이 해당 테이블에 있어야합니다 ( Deferred Name Resolution ). 존재 여부에 관계없이 프로 시저에서 참조 된 모든 테이블의 이름 확인을 연기하도록 SQL Server에 지시 할 수 있습니까? 일반적인 …

5
주어진 범위의 소수
최근에 나는 모든 소수 (1-100)를 인쇄하는 작업을 받았습니다. 나는 거기서 크게 실패했다. 내 코드 : Create Procedure PrintPrimeNumbers @startnum int, @endnum int AS BEGIN Declare @a INT; Declare @i INT = 1 ( Select a = @startnum / 2; WHILE @i<@a BEGIN @startnum%(@a-@i) i=i+1; ) END 완료하지는 못했지만 데이터베이스 (SQL …

1
xml 매개 변수를 사용하여 여러 데이터를 업데이트 할 때 병합 쿼리를 사용하지 않는 방법은 무엇입니까?
값 배열로 테이블을 업데이트하려고합니다. 배열의 각 항목에는 SQL Server 데이터베이스의 테이블에있는 행과 일치하는 정보가 포함됩니다. 행이 이미 테이블에 존재하면 주어진 배열의 정보로 해당 행을 업데이트합니다. 그렇지 않으면 테이블에 새 행을 삽입합니다. 나는 기본적으로 upsert를 설명했다. 이제 XML 매개 변수를 사용하는 저장 프로 시저에서이 작업을 수행하려고합니다. 테이블 반환 매개 변수가 아닌 …

1
임시 테이블로 데이터를로드 할 때 최소한의 로깅 가져 오기
Data Loading Performance Guide를 읽은 후에도 최소한의 로깅을 얻기 위해 TABLOCK 테이블 힌트를 빈 임시 테이블에 추가하고 클러스터 된 인덱스로 정의해야하는지 확실하지 않습니다. 분명히 temp 테이블은 SIMPLE 복구 모드에서 작동하는 TempDB에서 만들어 지므로 최소한의 로깅을위한 완벽한 후보라고 생각했을 것입니다. 그러나 확인을위한 구절을 찾을 수는 없습니다. 임시 테이블은 최소한의 로깅 후보이며, …

2
Transact-SQL의 대칭 차분 연산?
난 항상에 대해 알고 UNIONSQL 연산자하지만 최근이 다른 세트 사업자 있었다 것을 발견 INTERSECT하고 EXCEPT. 네 번째 큰 집합 연산자 인 대칭 차이 (예 :의 반대 INTERSECT) 를 수행하는 연산자를 찾을 수 없습니다 . 다음과 같은 것을 사용하여 원하는 출력을 얻을 수있는 것처럼 보입니다. SELECT Field FROM A UNION SELECT …
10 sql-server  t-sql 

1
문자 입력을 받고 날짜 형식을 반환하는 기능 (잘못된 입력)
문자열 문자를 받고 날짜 형식을 반환하는 함수를 작성해야합니다. 예를 들어 입력은 20120101이며 2012-01-01이 필요합니다. 문제는이 "2012ABCD"와 같은 잘못된 입력이있을 수 있다는 것입니다. 이 경우 함수가 2020-01-01과 같은 고정 날짜를 반환하기를 원합니다. 내가 지금까지 쓴 것은 : Create Function ReturnDate (@date varchar(8)) Returns date as begin declare @result date set @result …

1
xml path ( '') 출력용
내가 다음을 실행할 때 select t.type from (values ('Green'),('Blue'),('Red')) as t(type) for xml path('') 이 결과를 받는다 <type>Green</type> <type>Blue</type> <type>Red</type> 내가 다음을 실행하면 select t.type + '/' from (values ('Green'),('Blue'),('Red')) as t(type) for xml path('') 이 결과를 받는다 Green/Blue/Red/ 선택에 연결을 추가하면 유형 태그가 제거되고 xml 파일의 한 줄에 출력되는 …

3
실제 변경 사항 만 발생시키는 T-SQL 트리거는 어떻습니까?
UPDATE 및 INSERT 에서 다른 테이블에 행을 추가 하는 테이블 트리거가 있습니다. 4 개의 열 중 하나가 변경된 경우에만 행을 추가하면됩니다. 변경 사항을 테스트하기 위해 IF UPDATE (col)을 사용해 보았지만 사각 지대가 있습니다. 그것은 단지 어떤 가치가 들어 왔는지를 테스트합니다. 나는 더 깊이 들어가야합니다. 나는 진정한 변화가 일어 났는지보기 위해 …
9 t-sql  trigger 

3
FROM 절이 누락 된이 쿼리는 왜 오류가 발생하지 않습니까?
그래서 우리는 오타가있는 하위 쿼리가있는 쿼리가 있습니다. FROM 절이 없습니다. 그러나 실행할 때 오류가 발생하지 않습니다! 왜!? SELECT 1 ,r.id ,'0D4133BE-C1B5-4141-AFAD-B171A2CCCE56' ,GETDATE() ,1 ,'Y' ,'N' ,oldItem.can_view ,oldItem.can_update FROM Role r JOIN RoleObject oldReport ON r.customer_id = oldReport.customer_id JOIN RoleItem oldItem ON oldReport.id = oldItem.role_object_id AND r.id = oldItem.role_id WHERE r.id …

5
“[]”와일드 카드를 사용하여 PATINDEX와] (닫는 대괄호) 일치
T-SQL † 에서 사용자 지정 JSON 파서를 작성 중 입니다. 파서의 목적을 PATINDEX위해 토큰 목록에서 토큰의 위치를 ​​계산하는 함수를 사용하고 있습니다. 필자의 경우 토큰은 모두 단일 문자이며 다음을 포함합니다. {} [] :, 일반적으로 주어진 여러 문자 중 첫 번째 위치를 찾아야 할 때 다음 PATINDEX과 같은 기능을 사용합니다 . PATINDEX('%[abc]%', …

4
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE 후에 커밋 된 읽기를 추가합니까?
저장 프로 시저 안에 다음이 있습니다. (sql server 2008) SET TRANSACTION ISOLATION LEVEL SERIALIZABLE BEGIN TRANSACTION getStuff BEGIN TRY /* some selects, updates, etc, etc. */ .... COMMIT TRANSACTION getStuff END TRY BEGIN CATCH ... END CATCH 이것은 트랜잭션 기반이므로 나머지 데이터베이스 연결은 SERIALIZABLE의 영향을받지 않을 것이라고 생각했습니다. 커밋 후 …

2
sp_msforeachdb는 장면 뒤에서 정확히 어떻게 작동합니까?
문제를 해결해야하며 문제를 극복하기 위해 sp_msforeachdb의 작동 방식을 이해하는 데 도움이 필요합니다. sp_msforeachdb를 실행할 때마다 오류가 발생합니다. Msg 102, Level 15, State 1, Incorrect syntax near '61' 내 코드의 예는 다음과 같습니다. EXEC SP_msforeachdb 'SELECT ''?'' AS Database FROM ?.sys.objects WHERE name like ''%aetna%'' 그러나 sp_msforeachdb에 대한 매개 변수로 어떤 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.