我有一個表叫Attendance
和列名爲attendanceStatus
和CourseID
。該attendanceStatus
列是一個文本類型,因爲我希望能夠改變每個0
到1
在任何給定的階段。數據充滿了0
的,但我希望在字符串中改變過去0
到1
。數據包含18個0
's,所以這將是我需要改變的第18個字符。更換特定字符的字符串
我覺得我已經逐漸接近的,但我很願意聽徹底改變它,如果我不關閉。
UPDATE Attendance
SET attendanceStatus REPLACE = (attendanceStatus, '0', '1')
WHERE CourseID like '2%';
我意識到,這個代碼改變所有的0到1的,我只希望改變18 0
'更新出席設定attendancestatus =的concat(子串(attendancestatus,1,17), '1'),其中courseID艾克 '2%' 和attendancestatus LIKE '%0' ;' – xQbert
鑑於這種類型的要求,它似乎是該列包含多個不同的值。如果你想改變一個字符的值,在一個特定的位置,在一個字符列內(在MySQL表中),解決方案將涉及**'SUBSTRING' **函數(提取要修改的字符串,以及**'CONCAT' **函數(將字符串的部分連接在一起)。一個更強大的解決方案可能還會調用** CHAR_LENGTH **函數來執行健全性檢查。那些表情會變得很糟糕。 – spencer7593