ほとんどのリレーショナルデータベースには、次のようなREPEAT()
文字列関数があります。
SELECT REPEAT('abc', 3)
降伏します
abcabcabc
一方、SQLiteの機能セットは非常に限られています。SQLiteでサポートされている関数は次のとおりです。
http://www.sqlite.org/lang_corefunc.html
REPEAT()
SQLiteで利用可能な関数でエミュレートできますか?
ほとんどのリレーショナルデータベースには、次のようなREPEAT()
文字列関数があります。
SELECT REPEAT('abc', 3)
降伏します
abcabcabc
一方、SQLiteの機能セットは非常に限られています。SQLiteでサポートされている関数は次のとおりです。
http://www.sqlite.org/lang_corefunc.html
REPEAT()
SQLiteで利用可能な関数でエミュレートできますか?
解決策は、関連する質問に対するこの回答に触発されました。
これは他のSQLiteユーザーに役立つ可能性があるため、StackOverflowで共有したいと思いました。解決策は次のようになります。
-- X = string
-- Y = number of repetitions
replace(substr(quote(zeroblob((Y + 1) / 2)), 3, Y), '0', X)
繰り返したい単一の文字の場合は、printf
関数を使用できます。
*
以下は が繰り返される例10
です。
sqlite> select printf('%.' || 10 ||'c', '*');
**********
複数の文字を繰り返すには、上記の Lukas の回答を参照してください。