반응형
SQL에서 빈 GUID 확인
저장 프로시저의 인수가 빈 GUID인지 확인하려면 어떻게 해야 합니까?
SELECT CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER)
그러면 빈 가이드가 반환될 것입니다.
한 명의 출연진을 절약하는 것은 훨씬 더 짧습니다.
SELECT CAST(0x0 AS UNIQUEIDENTIFIER)
그래서 그걸 확인하기 위해서, 당신은.
IF @GuidParam = CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER)
BEGIN
--Guid is empty
END
빈 guid는 절대 변하지 않기 때문에 다른 확실한 방법은 단순히 사용하는 것입니다.00000000-0000-0000-0000-000000000000
계산하는 것보다.
If @Param = '00000000-0000-0000-0000-000000000000'
...
또는 절차에 있는 경우 상수로 작동하도록 파라미터를 설정할 수 있습니다.
Declare @EmptyGuid uniqueidentifier
Set @EmptyGuid = '00000000-0000-0000-0000-000000000000'
또는 단순히 위의 상수 값을 반환하는 스칼라 사용자 정의 함수를 만들 수 있습니다(또는 Meiscooldude 솔루션에서와 같이 다시 계산).
DECLARE @EmptyGuid UNIQUEIDENTIFIER = 0x0
DECLARE @NonEmpty UNIQUEIDENTIFIER = NEWID()
IF @EmptyGuid = 0x0 PRINT 'Empty'
IF @NonEmpty = 0x0 PRINT 'Empty' ELSE PRINT 'NonEmpty'
인쇄 예정
빈
비어 있지 않음
Empty Guid는 다음과 같이 만들 수 있습니다.
DECLARE @EmptyGuid UNIQUEIDENTIFIER
SET @EmptyGuid = (SELECT CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER))
-- Single result is 00000000-0000-0000-0000-000000000000
SELECT @EmptyGuid
사용하다
DECLARE @param UNIQUEIDENTIFIER = NEWID();
--DECLARE @param UNIQUEIDENTIFIER = '00000000-0000-0000-0000-000000000000'
IF (CONVERT(UNIQUEIDENTIFIER, 0x00)) = @param
PRINT 'Empty';
ELSE
PRINT 'Not Empty';
DECLARE @SupplierDataHubId uniqueidentifier=null
set @SupplierDataHubId=(select HubId from dbo.tblSupplierData where fldUpc='603259049389' OR fldEan='6032590493895555')
if (@SupplierDataHubId is not null)
begin
print('yes');
end
else
print 'no'
언급URL : https://stackoverflow.com/questions/3092999/check-for-empty-guid-in-sql
반응형
'programing' 카테고리의 다른 글
Excel VBA - 동적 배열 수식을 추가하는 방법 (0) | 2023.06.21 |
---|---|
추적되지 않은 파일에 gitdiff를 사용할 수 있습니까? (0) | 2023.06.21 |
Mac OS X에서 libusb를 설정하는 방법은 무엇입니까? (0) | 2023.06.21 |
수동으로 값을 스와핑하지 않고 x축과 y축을 수행합니다. (0) | 2023.06.21 |
web.xml과 같이 spring-boot servlet을 구성하는 방법은 무엇입니까? (0) | 2023.06.21 |