以下のクエリがあります。
可能な文字数は 7 文字 (- と AZ を組み合わせたもの) のみです
最初の 5 文字 (月曜から金曜) には 1 つの「-」しか使用できません 土曜と日曜には、1 文字またはダッシュのみを使用できます Sa と Su を S だけに置き換えます
ただし、土曜日および/または日曜日に 2 つのダッシュを渡している場合は、それぞれに 1 つのダッシュに置き換える必要があります。
そのため、すべての操作の後、長さは 7 しかありません。
可能な限り試してみましたが、土曜日/日曜日の位置で 2 対 1 のダッシュ シナリオで行き詰まりました。
助けてください!もっと見つけたら、これを更新し続けます。
ADVのTHX
コード:
CREATE Table TempTable (string varchar(50))
INSERT INTO TempTable (string)
VALUES ('MTWRFSS')
,('MTWRFSaS')
,('MTWRFSaSu')
,('----F--')
,('----F----')
,('MT------')
,('MT------')
,('----FSa--')
,('----FSa-')
,('----FS--')
,('----FS-')
,('----F-Su')
,('----F--Su')
,('----F-S')
,('----F--S')
UPDATE TempTable
SET string = REPLACE(REPLACE(RTRIM(LTRIM(string)),'SA','S'),'SU','S')
SELECT string
,LEN(String) AS stringLengh FROM TempTable
--DROP TABLE TempTable