테이블의 각 행을 거쳐 중간 초기 열에 대해 임의의 문자를 생성하는 프로그램을 TSQL에 작성할 수 있습니까?TSQL에서 무작위 중간 초기 생성
0
A
답변
2
프로그램을 작성하는 대신 간단한 UPDATE 문을 사용할 수 있습니다. 예가 (답에서 표/필드 이름을 사용하여);
UPDATE Contact SET conMName = CHAR(ABS(CHECKSUM(NEWID()))%26+65)
0
Identity 열이 1 씩 증가하는 정수로 가정하고 ID 열의 conID, 테이블의 EDI.Contact, 중간 이름을 포함하는 열의 이름을 conMName이라고하면 다음 코드가 작동합니다.
DECLARE
@Counter INT = '1'
, @GeneratedLetter CHAR(1)
, @NumberOfRows INT = (SELECT COUNT(*) FROM EDI.Contact) -- Replace with your table name
, @LetterNumber INT
WHILE (@Counter < @NumberOfRows +1)
BEGIN
SET @LetterNumber = (CAST(RAND(CHECKSUM(NEWID())) * 26 as INT) + 1)
IF @LetterNumber = '1'
SET @GeneratedLetter = 'A'
ELSE IF @LetterNumber = '2'
SET @GeneratedLetter = 'B'
ELSE IF @LetterNumber = '3'
SET @GeneratedLetter = 'C'
ELSE IF @LetterNumber = '4'
SET @GeneratedLetter = 'D'
ELSE IF @LetterNumber = '5'
SET @GeneratedLetter = 'E'
ELSE IF @LetterNumber = '6'
SET @GeneratedLetter = 'F'
ELSE IF @LetterNumber = '7'
SET @GeneratedLetter = 'G'
ELSE IF @LetterNumber = '8'
SET @GeneratedLetter = 'H'
ELSE IF @LetterNumber = '9'
SET @GeneratedLetter = 'I'
ELSE IF @LetterNumber = '10'
SET @GeneratedLetter = 'J'
ELSE IF @LetterNumber = '11'
SET @GeneratedLetter = 'K'
ELSE IF @LetterNumber = '12'
SET @GeneratedLetter = 'L'
ELSE IF @LetterNumber = '13'
SET @GeneratedLetter = 'M'
ELSE IF @LetterNumber = '14'
SET @GeneratedLetter = 'N'
ELSE IF @LetterNumber = '15'
SET @GeneratedLetter = 'O'
ELSE IF @LetterNumber = '16'
SET @GeneratedLetter = 'P'
ELSE IF @LetterNumber = '17'
SET @GeneratedLetter = 'Q'
ELSE IF @LetterNumber = '18'
SET @GeneratedLetter = 'R'
ELSE IF @LetterNumber = '19'
SET @GeneratedLetter = 'S'
ELSE IF @LetterNumber = '20'
SET @GeneratedLetter = 'T'
ELSE IF @LetterNumber = '21'
SET @GeneratedLetter = 'U'
ELSE IF @LetterNumber = '22'
SET @GeneratedLetter = 'V'
ELSE IF @LetterNumber = '23'
SET @GeneratedLetter = 'W'
ELSE IF @LetterNumber = '24'
SET @GeneratedLetter = 'X'
ELSE IF @LetterNumber = '25'
SET @GeneratedLetter = 'Y'
ELSE IF @LetterNumber = '26'
SET @GeneratedLetter = 'Z'
UPDATE EDI.Contact -- Replace with your table name
SET conMName = @GeneratedLetter -- Replace with column that holds middle names
WHERE conId = @Counter -- Replace with identity column name
SET @Counter = (@Counter + 1)
END
관련 문제
- 1. 무작위 및 중간 값이있는 QuickSort
- 2. 중간 값으로 가중치가 부여 된 무작위 정수 생성
- 3. LDAP에서 중간 초기 가져 오기
- 4. 무작위 반복자에서 중간 요소를 구하고 끝내려면 어떻게해야합니까?
- 5. 중간 코드 생성
- 6. 무작위 문자열 생성 PHP
- 7. 무작위 URL 생성
- 8. 무작위 합성 키 생성
- 9. CPLEX에서 무작위 솔루션 생성
- 10. 파이썬 무작위 목록 생성
- 11. OpenGL에서 무작위 포인트 생성
- 12. 무작위 색인 벡터 생성
- 13. 원통의 무작위 점 생성
- 14. 무작위 클러스터 생성
- 15. 무작위 GeoJSON 폴리곤 생성
- 16. 무작위 암호 생성
- 17. 무작위 스도쿠 생성
- 18. 무작위 그래프 생성
- 19. 무작위 테스트 생성
- 20. 게임용 무작위 배경 생성
- 21. 안드로이드 생성 무작위 Textview
- 22. TSQL에서 uniqueidentifier를 증가 시키십시오.
- 23. 초기 SessionFactory를 생성 failed.java.lang.ClassFormatError
- 24. 초기 SessionFactory를 생성 failed.javax.persistence.PersistenceException
- 25. 논리 표현식과 중간 코드 생성
- 26. 큰 무작위 평면 그래프 생성
- 27. Matlab 무작위 요소로 행렬을 생성
- 28. 더 나은 무작위 생성 PHP
- 29. 재귀 부 무작위 미로 생성
- 30. 무작위 순열 1,000,000 샘플 생성
Damnit. 나는 그 문제를 생각하려고한다. – CryptoJones
나는 실제로 ABS 기능에 대해 들어 본 적이 없다. 그거 꽤 멋지다. – CryptoJones