在我的
mysql資料庫表中,我需要使用列shour(varchar)的值更新列sdate(date).
我試過這個sql查詢:
update ignore `dotable`
set `sdate` = str_to_date(`shour`, '%d-%m-%y')
where
`sdate` is null;
輸出是:
| shour | sdate |
| 01-ago-18 | null |
| 01-apr-18 | 2018-04-01 |
| 01-feb-18 | 2018-02-01 |
| 01-gen-18 | null |
| 01-giu-18 | null |
| 01-mar-18 | 2018-03-01 |
| 01-nov-18 | 2018-11-01 |
| 01-ott-18 | null |
| 01-set-18 | null |
| 02-ago-18 | null |
10 rows in set
問題是當行shour不包含英文的月份名稱(en_us)時.
例如行:
| shour | sdate |
| 01-ago-18 | null |
不更新,因為月份名稱(前三個字母)是前(it_it)而不是八(en_us).
而是行:
| shour | sdate |
| 01-apr-18 | 2018-04-01 |
更新是因為月份名稱-apr-(前三個字母)與義大利語和英語一致.
我嘗試過這樣的成功:
set lc_time_names = 'it_it';
怎麼解決這個?
最佳答案 在mysql中嘗試這個.
update `dotable`
set `sdate` = null;
update ignore `dotable`
set `sdate` = str_to_date(`shour`, '%d-%m-%y')
where
`sdate` is null;
update `dotable` jjj
join (
select
str_to_date(`smonth`, '%d-%m-%y') as `xdate`
from
select
case
when substring_index(
substring_index(`shour`, '-' ,- 2),
) in ('ago') then
concat(
substring_index(`shour`, '-', 1),
'aug',
substring_index(`shour`, '-' ,- 1)
when substring_index(
substring_index(`shour`, '-' ,- 2),
) in ('dic') then
concat(
substring_index(`shour`, '-', 1),
'dec',
substring_index(`shour`, '-' ,- 1)
when substring_index(
substring_index(`shour`, '-' ,- 2),
) in ('gen') then
concat(
substring_index(`shour`, '-', 1),
'jan',
substring_index(`shour`, '-' ,- 1)
when substring_index(
substring_index(`shour`, '-' ,- 2),
) in ('giu') then
concat(
substring_index(`shour`, '-', 1),
'jun',
substring_index(`shour`, '-' ,- 1)
when substring_index(
substring_index(`shour`, '-' ,- 2),
) in ('ott') then
concat(
substring_index(`shour`, '-', 1),
'oct',
substring_index(`shour`, '-' ,- 1)
when substring_index(
substring_index(`shour`, '-' ,- 2),
) in ('set') then
concat(
substring_index(`shour`, '-', 1),
'sep',
substring_index(`shour`, '-' ,- 1)
when substring_index(
substring_index(`shour`, '-' ,- 2),
) in ('lug') then
concat(
substring_index(`shour`, '-', 1),
'jul',
substring_index(`shour`, '-' ,- 1)
when substring_index(
substring_index(`shour`, '-' ,- 2),
) in ('mag') then
concat(
substring_index(`shour`, '-', 1),
'may',
substring_index(`shour`, '-' ,- 1)
end as `smonth`
from
`dotable`
where
`sdate` is null
) as ttt
) as kkk
set jjj.`sdate` = kkk.`xdate`
where
jjj.`sdate` is null;
英文月份和數字月份轉換
public static listmonth list arrays.aslist jan feb mar apr may jun jul aug sep oct nov dec public static string changenumbertochar string releaseversi...
C語言 輸出月份的英文
要成為絕世高手,並非一朝一夕,除非是天生武學奇才,但是這種人 萬中無一 包租婆 這道理放在c語言學習上也一併受用。在程式設計方面有著天賦異稟的人畢竟是少數,我們大多數人想要從c語言小白高階到高手,需要經歷的是日積月累的學習。那麼如何學習呢?當然是每天都練習一道c語言題目!c語言編寫乙個程式,輸入月份...
C語言 輸出月份英文名
本題要求實現函式,可以返回乙個給定月份的英文名稱。函式介面定義 char getmonth int n 函式getmonth應返回儲存了n對應的月份英文名稱的字串頭指標。如果傳入的引數n不是乙個代表月份的數字,則返回空指標null。裁判測試程式樣例 include char getmonth int...