MSSQL 에서 함수를 만드는데 함수에 RAND 함수를 사용하려고 합니다. 그런데, "함수 내에서 파생 작업을 생성하는 연산자 'rand'을(를) 잘못 사용했습니다" 오류 메시지가 나오네요. 함수 내에서 rand 함수를 사용할 수 없는지 궁금합니다.
비확정적 함수는 사용될 수 없어요. 비확정적 함수란 아무런 변경없이 호출할 때마다 결과가 틀려지는 함수로 대표적으로는 getdate(), newid(), rand() 등 입니다. 그런데 getdate()는 2005버전부터는 적용이 될수 있게 되었다네요.
팁하나 있다면, SELECT RAND() 을 view 로 만들어 function 에서 호출하면 함수에서도 rand() 값을 사용할 수 있는 팁입니다.