有關MySQL year函式的問題? |
尚未結案
|
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
資料庫連接元件:zeosdbo
資料庫:MySQL 各位先進好! 我的表裡有一個欄位(Jdate)是varchar型,
格式為:XXXX年XX月XX日
例如:
2004年03月16日
在查詢時希望從Jdate分別取出年,月,日. 我記得Access可以直接使用
select * from table where year(Jdate)=2004
and month(Jdate)=03 and day(Jdate)=16 但在MySQL中:
1)使用year()不能出現年,月等中文
2)沒有day(),應使用dayofmonth() Q:如何可以解決問題1) ?
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
Hi, 將 varchar 轉為 Date 可以這樣下:
select CONVERT(concat(mid(Jdate, 1, 4), '-', mid(Jdate, 7, 2), '-', mid(Jdate, 11, 2)), DATE) as myDate from xxx若是要異動的話, 你可以重建一個 table 轉過來或是新增一個欄位如: Jdate2 型態為 DATE, 然後 update 一次後再將 Jdate 欄位移除後將 Jdate2 改名為 Jdate 即可. 將原來的 Jdate 寫入新的 Jdate2 欄位的方式如下: update xxx set Jdate2 = CONVERT(concat(mid(Jdate, 1, 4), '-', mid(Jdate, 7, 2), '-', mid(Jdate, 11, 2)), DATE)如此一來對 date, 或是 datetime 操作就可以使用完整的 datetime function 囉, 用 varchar 或是 char 存日期/時間是比較不理想的! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |