ズンドコキヨシ with Transact-SQL


Overview

SAP Sybase Adaptive Server Enterprise にて検証

SQL

SET NOCOUNT ON -- 変数格納時に "(1 row affected)" がいちいち出力されるので、出さないようにしとく
DECLARE @zd varchar(20), @rand FLOAT
WHILE @zd != 'ズンズンズンズンドコ'
BEGIN
    print @zd
    SET @rand = RAND()
    SET @zd = RIGHT(@zd + CASE
                               WHEN @rand < 0.5 THEN 'ズン'
                               ELSE 'ドコ'
                          END
                       , 10)
END
SELECT @zd + 'キ・ヨ・シ!'

解説

  • ズンドコの文字列, ランダム関数を格納する変数を定義
  • WHILEで変数値が「ズンズンズンズンドコ」になるまでループ処理させる
  • RAND関数は0.0〜1.0のFLOAT型のランダム値が返ってくるので、0.5未満だったら「ズン」、それ以外は「ドコ」を変数値に結合
  • 結合した結果から後方10文字を取得して変数に格納して
  • ループを抜けられたら、「キ・ヨ・シ!」を結合して、出力