Generate random names in sql

前端 未结 7 1063
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-06 16:42

I have 5 random names each for male and female. I need to insert random names based on the gender. But how can we insert names in random from a set of 5 names in SQL. Is it

7条回答
  •  一个人的身影
    2021-01-06 16:57

    Create a function

    CREATE FUNCTION [dbo].[getRandomName](@gen varchar(10))
    RETURNS @name varchar(50)
    
    AS
    BEGIN
    
       SELECT TOP 1 @name = name FROM table WHERE gender=@gen ORDER BY newid()
    END
    

    Then, just pass @gen to the function like this

    select dbo.getRandomName('male')
    

    Or, update many rows like this:

    UPDATE myNewTable 
       SET newName=dbo.getRandomName('male')
    WHERE gender='male'
    

提交回复
热议问题