轉自http://arrack.pixnet.net/blog/post/24091939-mysql-%E5%AD%97%E4%B8%B2%E5%90%88%E4%BD%B5%E3%80%81%E5%AD%97%E4%B8%B2%E9%80%A3%E6%8E%A5-%E8%AA%9E%E6%B3%95-concat-substring
篩選或是更新資料的時候,常有需要用到補上字串,或是合併欄位的情況。
這時候使用update table set a=a+b 是不行的,要改用concat ,另外可以用SUBSTRING 來作截字的動作
例如
update table set a=concat(a,b);
update table set a=concat(a,'文字');
SELECT SUBSTRING('Quadratically',5);
參考資料如下
CONCAT(str1,str2,...)
Returns the string that results from concatenating the arguments. May have one or more arguments. If all arguments are non-binary strings, the result is a non-binary string. If the arguments include any binary strings, the result is a binary string. A numeric argument is converted to its equivalent binary string form; if you want to avoid that, you can use an explicit type cast, as in this example:
SELECT CONCAT(CAST(int_col AS CHAR), char_col);
CONCAT() returns NULL if any argument is NULL.
mysql> SELECT CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
-> NULL
mysql> SELECT CONCAT(14.3);
-> '14.3'
SUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len), SUBSTRING(str FROM pos FOR len)
The forms without a len argument return a substring from string str starting at position pos. The forms with a len argument return a substring lenstr, starting at position pos. The forms that use FROM are standard SQL syntax. It is also possible to use a negative value for pos. In this case, the beginning of the substring is pos characters from the end of the string, rather than the beginning. A negative value may be used for pos in any of the forms of this function. characters long from string
For all forms of SUBSTRING(), the position of the first character in the string from which the substring is to be extracted is reckoned as 1.
mysql> SELECT SUBSTRING('Quadratically',5);
-> 'ratically'
mysql> SELECT SUBSTRING('foobarbar' FROM 4);
-> 'barbar'
mysql> SELECT SUBSTRING('Quadratically',5,6);
-> 'ratica'
mysql> SELECT SUBSTRING('Sakila', -3);
-> 'ila'
mysql> SELECT SUBSTRING('Sakila', -5, 3);
-> 'aki'
mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);
-> 'ki'
2012年3月26日 星期一
2012年3月20日 星期二
Mysql日期和時間函數不求人
引述自http://www.webasp.net/article/25/24538.htm
最近為了sql的日期在煩惱,剛好google 到了一篇mysql的日期運用,
po上來給大家參考~
這裡是一個使用日期函數的例子。下面的查詢選擇了所有記錄,其date_col的值是在最後30天以內:
mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。這些索引值對應於ODBC標準。
mysql> select DAYOFWEEK('1998-02-03');
-> 3
WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
mysql> select WEEKDAY('1997-11-05');
-> 2
DAYOFMONTH(date)
返回date的月份中日期,在1到31範圍內。
mysql> select DAYOFMONTH('1998-02-03');
-> 3
DAYOFYEAR(date)
返回date在一年中的日數, 在1到366範圍內。
mysql> select DAYOFYEAR('1998-02-03');
-> 34
MONTH(date)
返回date的月份,範圍1到12。
mysql> select MONTH('1998-02-03');
-> 2
DAYNAME(date)
返回date的星期名字。
mysql> select DAYNAME("1998-02-05");
-> 'Thursday'
MONTHNAME(date)
返回date的月份名字。
mysql> select MONTHNAME("1998-02-05");
-> 'February'
QUARTER(date)
返回date一年中的季度,範圍1到4。
mysql> select QUARTER('98-04-01');
-> 2
WEEK(date)
WEEK(date,first)
對於星期天是一週的第一天的地方,有一個單個參數,返回date的週數,範圍在0到52。2個參數形式WEEK()允許
你指定星期是否開始於星期天或星期一。如果第二個參數是0,星期從星期天開始,如果第二個參數是1,
從星期一開始。
mysql> select WEEK('1998-02-20');
-> 7
mysql> select WEEK('1998-02-20',0);
-> 7
mysql> select WEEK('1998-02-20',1);
-> 8
YEAR(date)
返回date的年份,範圍在1000到9999。
mysql> select YEAR('98-02-03');
-> 1998
HOUR(time)
返回time的小時,範圍是0到23。
mysql> select HOUR('10:05:03');
-> 10
MINUTE(time)
返回time的分鐘,範圍是0到59。
mysql> select MINUTE('98-02-03 10:05:03');
-> 5
SECOND(time)
回來time的秒數,範圍是0到59。
mysql> select SECOND('10:05:03');
-> 3
PERIOD_ADD(P,N)
增加N個月到階段P(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意階段參數P不是日期值。
mysql> select PERIOD_ADD(9801,2);
-> 199803
PERIOD_DIFF(P1,P2)
返回在時期P1和P2之間月數,P1和P2應該以格式YYMM或YYYYMM。注意,時期參數P1和P2不是日期值。
mysql> select PERIOD_DIFF(9802,199703);
-> 11
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
ADDDATE(date,INTERVAL expr type)
SUBDATE(date,INTERVAL expr type)
這些功能執行日期運算。對於MySQL 3.22,他們是新的。ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同義詞。
在MySQL 3.23中,你可以使用+和-而不是DATE_ADD()和DATE_SUB()。(見例子)date是一個指定開始日期的
DATETIME或DATE值,expr是指定加到開始日期或從開始日期減去的間隔值一個表達式,expr是一個字符串;它可以以
一個「-」開始表示負間隔。type是一個關鍵詞,指明表達式應該如何被解釋。EXTRACT(type FROM date)函數從日期
中返回「type」間隔。下表顯示了type和expr參數怎樣被關聯: type值 含義 期望的expr格式
SECOND 秒 SECONDS
MINUTE 分鐘 MINUTES
HOUR 時間 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS
MINUTE_SECOND 分鐘和秒 "MINUTES:SECONDS"
HOUR_MINUTE 小時和分鐘 "HOURS:MINUTES"
DAY_HOUR 天和小時 "DAYS HOURS"
YEAR_MONTH 年和月 "YEARS-MONTHS"
HOUR_SECOND 小時, 分鐘, "HOURS:MINUTES:SECONDS"
DAY_MINUTE 天, 小時, 分鐘 "DAYS HOURS:MINUTES"
DAY_SECOND 天, 小時, 分鐘, 秒 "DAYS HOURS:MINUTES:SECONDS"
MySQL在expr格式中允許任何標點分隔符。表示顯示的是建議的分隔符。如果date參數是一個DATE值並且你的計算僅僅
包含YEAR、MONTH和DAY部分(即,沒有時間部分),結果是一個DATE值。否則結果是一個DATETIME值。
mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
-> 1998-01-01 00:00:00
mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
-> 1998-01-01
mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
-> 1997-12-31 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 SECOND);
-> 1998-01-01 00:00:00
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 DAY);
-> 1998-01-01 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL "1:1" MINUTE_SECOND);
-> 1998-01-01 00:01:00
mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
INTERVAL "1 1:1:1" DAY_SECOND);
-> 1997-12-30 22:58:59
mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
INTERVAL "-1 10" DAY_HOUR);
-> 1997-12-30 14:00:00
mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
-> 1997-12-02
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
-> 1999
mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
-> 199907
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
-> 20102
如果你指定太短的間隔值(不包括type關鍵詞期望的間隔部分),MySQL假設你省掉了間隔值的最左面部分。例如,
如果你指定一個type是DAY_SECOND,值expr被希望有天、小時、分鐘和秒部分。如果你像"1:10"這樣指定值,
MySQL假設日子和小時部分是丟失的並且值代表分鐘和秒。換句話說,"1:10" DAY_SECOND以它等價於"1:10" MINUTE_SECOND
的方式解釋,這對那MySQL解釋TIME值表示經過的時間而非作為一天的時間的方式有二義性。如果你使用確實不正確的日期,
結果是NULL。如果你增加MONTH、YEAR_MONTH或YEAR並且結果日期大於新月份的最大值天數,日子在新月用最大的天調整。
mysql> select DATE_ADD('1998-01-30', Interval 1 month);
-> 1998-02-28
注意,從前面的例子中詞INTERVAL和type關鍵詞不是區分大小寫的。
TO_DAYS(date)
給出一個日期date,返回一個天數(從0年的天數)。
mysql> select TO_DAYS(950501);
-> 728779
mysql> select TO_DAYS('1997-10-07');
-> 729669
TO_DAYS()不打算用於使用格列高裡歷(1582)出現前的值。
FROM_DAYS(N)
給出一個天數N,返回一個DATE值。
mysql> select FROM_DAYS(729669);
-> '1997-10-07'
TO_DAYS()不打算用於使用格列高裡歷(1582)出現前的值。
DATE_FORMAT(date,format)
根據format字符串格式化date值。下列修飾符可以被用在format字符串中: %M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英語前綴的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 數字, 4 位
%y 年, 數字, 2 位
%a 縮寫的星期名字(Sun……Sat)
%d 月份中的天數, 數字(00……31)
%e 月份中的天數, 數字(0……31)
%m 月, 數字(01……12)
%c 月, 數字(1……12)
%b 縮寫的月份名字(Jan……Dec)
%j 一年中的天數(001……366)
%H 小時(00……23)
%k 小時(0……23)
%h 小時(01……12)
%I 小時(01……12)
%l 小時(1……12)
%i 分鐘, 數字(00……59)
%r 時間,12 小時(hh:mm:ss [AP]M)
%T 時間,24 小時(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一個星期中的天數(0=Sunday ……6=Saturday )
%U 星期(0……52), 這裡星期天是星期的第一天
%u 星期(0……52), 這裡星期一是星期的第一天
%% 一個文字「%」。
所有的其他字符不做解釋被覆制到結果中。
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
-> 'Saturday October 1997'
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
-> '22:23:00'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%D %y %a %d %m %b %j');
-> '4th 97 Sat 04 10 Oct 277'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6'
MySQL3.23中,在格式修飾符字符前需要%。在MySQL更早的版本中,%是可選的。
TIME_FORMAT(time,format)
這象上面的DATE_FORMAT()函數一樣使用,但是format字符串只能包含處理小時、分鐘和秒的那些格式修飾符。
其他修飾符產生一個NULL值或0。
CURDATE()
CURRENT_DATE
以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取決於函數是在一個字符串還是數字上下文被使用。
mysql> select CURDATE();
-> '1997-12-15'
mysql> select CURDATE() + 0;
-> 19971215
CURTIME()
CURRENT_TIME
以'HH:MM:SS'或HHMMSS格式返回當前時間值,取決於函數是在一個字符串還是在數字的上下文被使用。
mysql> select CURTIME();
-> '23:50:26'
mysql> select CURTIME() + 0;
-> 235026
NOW()
SYSDATE()
CURRENT_TIMESTAMP
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回當前的日期和時間,取決於函數是在一個字符串還是在數字的
上下文被使用。
mysql> select NOW();
-> '1997-12-15 23:50:26'
mysql> select NOW() + 0;
-> 19971215235026
UNIX_TIMESTAMP() 應用:依據時間區間將資料分類
如果想要查看某個時間以來,每10分鐘、半小時或一小時…視的查詢區間而定,可用以下sql達成
select FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(timeColumn)/ timeDivision)*timeDivision) as timeNearTo,count(*) as 'count'
from data
where timeColumn>beginTime
group by timeNearTo
order by timeNearTo desc;
timeColumn→ 要查詢的時間欄位
timeDivision 是指時間區間的時間,
ex. 要以十分鍾為區間,timeDivision=60(秒)*10
半小時→ timeDivision=60(秒)*30......以此類推
beginTime→ 區間分類的起點時間
ex. '2008-12-28 14:00:00'....
UNIX_TIMESTAMP(date)
如果沒有參數調用,返回一個Unix時間戳記(從'1970-01-01 00:00:00'GMT開始的秒數)。如果UNIX_TIMESTAMP()用一
個date參數被調用,它返回從'1970-01-01 00:00:00' GMT開始的秒數值。date可以是一個DATE字符串、一個DATETIME
字符串、一個TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地時間的一個數字。
mysql> select UNIX_TIMESTAMP();
-> 882226357
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');
-> 875996580
當UNIX_TIMESTAMP被用於一個TIMESTAMP列,函數將直接接受值,沒有隱含的「string-to-unix-timestamp」變換。
FROM_UNIXTIME(unix_timestamp)
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp參數所表示的值,取決於函數是在一個字符串
還是或數字上下文中被使用。
mysql> select FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
mysql> select FROM_UNIXTIME(875996580) + 0;
-> 19971004222300
FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 時間標記的一個字符串,根據format字符串格式化。format可以包含與DATE_FORMAT()函數列出的條
目同樣的修飾符。
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:%s %x');
-> '1997 23rd December 03:43:30 x'
SEC_TO_TIME(seconds)
返回seconds參數,變換成小時、分鐘和秒,值以'HH:MM:SS'或HHMMSS格式化,取決於函數是在一個字符串還是在數字
上下文中被使用。
mysql> select SEC_TO_TIME(2378);
-> '00:39:38'
mysql> select SEC_TO_TIME(2378) + 0;
-> 3938
TIME_TO_SEC(time)
返回time參數,轉換成秒。
mysql> select TIME_TO_SEC('22:23:00');
-> 80580
mysql> select TIME_TO_SEC('00:39:38');
-> 2378
最近為了sql的日期在煩惱,剛好google 到了一篇mysql的日期運用,
po上來給大家參考~
這裡是一個使用日期函數的例子。下面的查詢選擇了所有記錄,其date_col的值是在最後30天以內:
mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。這些索引值對應於ODBC標準。
mysql> select DAYOFWEEK('1998-02-03');
-> 3
WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
mysql> select WEEKDAY('1997-11-05');
-> 2
DAYOFMONTH(date)
返回date的月份中日期,在1到31範圍內。
mysql> select DAYOFMONTH('1998-02-03');
-> 3
DAYOFYEAR(date)
返回date在一年中的日數, 在1到366範圍內。
mysql> select DAYOFYEAR('1998-02-03');
-> 34
MONTH(date)
返回date的月份,範圍1到12。
mysql> select MONTH('1998-02-03');
-> 2
DAYNAME(date)
返回date的星期名字。
mysql> select DAYNAME("1998-02-05");
-> 'Thursday'
MONTHNAME(date)
返回date的月份名字。
mysql> select MONTHNAME("1998-02-05");
-> 'February'
QUARTER(date)
返回date一年中的季度,範圍1到4。
mysql> select QUARTER('98-04-01');
-> 2
WEEK(date)
WEEK(date,first)
對於星期天是一週的第一天的地方,有一個單個參數,返回date的週數,範圍在0到52。2個參數形式WEEK()允許
你指定星期是否開始於星期天或星期一。如果第二個參數是0,星期從星期天開始,如果第二個參數是1,
從星期一開始。
mysql> select WEEK('1998-02-20');
-> 7
mysql> select WEEK('1998-02-20',0);
-> 7
mysql> select WEEK('1998-02-20',1);
-> 8
YEAR(date)
返回date的年份,範圍在1000到9999。
mysql> select YEAR('98-02-03');
-> 1998
HOUR(time)
返回time的小時,範圍是0到23。
mysql> select HOUR('10:05:03');
-> 10
MINUTE(time)
返回time的分鐘,範圍是0到59。
mysql> select MINUTE('98-02-03 10:05:03');
-> 5
SECOND(time)
回來time的秒數,範圍是0到59。
mysql> select SECOND('10:05:03');
-> 3
PERIOD_ADD(P,N)
增加N個月到階段P(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意階段參數P不是日期值。
mysql> select PERIOD_ADD(9801,2);
-> 199803
PERIOD_DIFF(P1,P2)
返回在時期P1和P2之間月數,P1和P2應該以格式YYMM或YYYYMM。注意,時期參數P1和P2不是日期值。
mysql> select PERIOD_DIFF(9802,199703);
-> 11
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
ADDDATE(date,INTERVAL expr type)
SUBDATE(date,INTERVAL expr type)
這些功能執行日期運算。對於MySQL 3.22,他們是新的。ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同義詞。
在MySQL 3.23中,你可以使用+和-而不是DATE_ADD()和DATE_SUB()。(見例子)date是一個指定開始日期的
DATETIME或DATE值,expr是指定加到開始日期或從開始日期減去的間隔值一個表達式,expr是一個字符串;它可以以
一個「-」開始表示負間隔。type是一個關鍵詞,指明表達式應該如何被解釋。EXTRACT(type FROM date)函數從日期
中返回「type」間隔。下表顯示了type和expr參數怎樣被關聯: type值 含義 期望的expr格式
SECOND 秒 SECONDS
MINUTE 分鐘 MINUTES
HOUR 時間 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS
MINUTE_SECOND 分鐘和秒 "MINUTES:SECONDS"
HOUR_MINUTE 小時和分鐘 "HOURS:MINUTES"
DAY_HOUR 天和小時 "DAYS HOURS"
YEAR_MONTH 年和月 "YEARS-MONTHS"
HOUR_SECOND 小時, 分鐘, "HOURS:MINUTES:SECONDS"
DAY_MINUTE 天, 小時, 分鐘 "DAYS HOURS:MINUTES"
DAY_SECOND 天, 小時, 分鐘, 秒 "DAYS HOURS:MINUTES:SECONDS"
MySQL在expr格式中允許任何標點分隔符。表示顯示的是建議的分隔符。如果date參數是一個DATE值並且你的計算僅僅
包含YEAR、MONTH和DAY部分(即,沒有時間部分),結果是一個DATE值。否則結果是一個DATETIME值。
mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
-> 1998-01-01 00:00:00
mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
-> 1998-01-01
mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
-> 1997-12-31 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 SECOND);
-> 1998-01-01 00:00:00
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 DAY);
-> 1998-01-01 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL "1:1" MINUTE_SECOND);
-> 1998-01-01 00:01:00
mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
INTERVAL "1 1:1:1" DAY_SECOND);
-> 1997-12-30 22:58:59
mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
INTERVAL "-1 10" DAY_HOUR);
-> 1997-12-30 14:00:00
mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
-> 1997-12-02
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
-> 1999
mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
-> 199907
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
-> 20102
如果你指定太短的間隔值(不包括type關鍵詞期望的間隔部分),MySQL假設你省掉了間隔值的最左面部分。例如,
如果你指定一個type是DAY_SECOND,值expr被希望有天、小時、分鐘和秒部分。如果你像"1:10"這樣指定值,
MySQL假設日子和小時部分是丟失的並且值代表分鐘和秒。換句話說,"1:10" DAY_SECOND以它等價於"1:10" MINUTE_SECOND
的方式解釋,這對那MySQL解釋TIME值表示經過的時間而非作為一天的時間的方式有二義性。如果你使用確實不正確的日期,
結果是NULL。如果你增加MONTH、YEAR_MONTH或YEAR並且結果日期大於新月份的最大值天數,日子在新月用最大的天調整。
mysql> select DATE_ADD('1998-01-30', Interval 1 month);
-> 1998-02-28
注意,從前面的例子中詞INTERVAL和type關鍵詞不是區分大小寫的。
TO_DAYS(date)
給出一個日期date,返回一個天數(從0年的天數)。
mysql> select TO_DAYS(950501);
-> 728779
mysql> select TO_DAYS('1997-10-07');
-> 729669
TO_DAYS()不打算用於使用格列高裡歷(1582)出現前的值。
FROM_DAYS(N)
給出一個天數N,返回一個DATE值。
mysql> select FROM_DAYS(729669);
-> '1997-10-07'
TO_DAYS()不打算用於使用格列高裡歷(1582)出現前的值。
DATE_FORMAT(date,format)
根據format字符串格式化date值。下列修飾符可以被用在format字符串中: %M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英語前綴的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 數字, 4 位
%y 年, 數字, 2 位
%a 縮寫的星期名字(Sun……Sat)
%d 月份中的天數, 數字(00……31)
%e 月份中的天數, 數字(0……31)
%m 月, 數字(01……12)
%c 月, 數字(1……12)
%b 縮寫的月份名字(Jan……Dec)
%j 一年中的天數(001……366)
%H 小時(00……23)
%k 小時(0……23)
%h 小時(01……12)
%I 小時(01……12)
%l 小時(1……12)
%i 分鐘, 數字(00……59)
%r 時間,12 小時(hh:mm:ss [AP]M)
%T 時間,24 小時(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一個星期中的天數(0=Sunday ……6=Saturday )
%U 星期(0……52), 這裡星期天是星期的第一天
%u 星期(0……52), 這裡星期一是星期的第一天
%% 一個文字「%」。
所有的其他字符不做解釋被覆制到結果中。
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
-> 'Saturday October 1997'
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
-> '22:23:00'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%D %y %a %d %m %b %j');
-> '4th 97 Sat 04 10 Oct 277'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6'
MySQL3.23中,在格式修飾符字符前需要%。在MySQL更早的版本中,%是可選的。
TIME_FORMAT(time,format)
這象上面的DATE_FORMAT()函數一樣使用,但是format字符串只能包含處理小時、分鐘和秒的那些格式修飾符。
其他修飾符產生一個NULL值或0。
CURDATE()
CURRENT_DATE
以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取決於函數是在一個字符串還是數字上下文被使用。
mysql> select CURDATE();
-> '1997-12-15'
mysql> select CURDATE() + 0;
-> 19971215
CURTIME()
CURRENT_TIME
以'HH:MM:SS'或HHMMSS格式返回當前時間值,取決於函數是在一個字符串還是在數字的上下文被使用。
mysql> select CURTIME();
-> '23:50:26'
mysql> select CURTIME() + 0;
-> 235026
NOW()
SYSDATE()
CURRENT_TIMESTAMP
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回當前的日期和時間,取決於函數是在一個字符串還是在數字的
上下文被使用。
mysql> select NOW();
-> '1997-12-15 23:50:26'
mysql> select NOW() + 0;
-> 19971215235026
UNIX_TIMESTAMP() 應用:依據時間區間將資料分類
如果想要查看某個時間以來,每10分鐘、半小時或一小時…視的查詢區間而定,可用以下sql達成
select FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(timeColumn)/ timeDivision)*timeDivision) as timeNearTo,count(*) as 'count'
from data
where timeColumn>beginTime
group by timeNearTo
order by timeNearTo desc;
timeColumn→ 要查詢的時間欄位
timeDivision 是指時間區間的時間,
ex. 要以十分鍾為區間,timeDivision=60(秒)*10
半小時→ timeDivision=60(秒)*30......以此類推
beginTime→ 區間分類的起點時間
ex. '2008-12-28 14:00:00'....
UNIX_TIMESTAMP(date)
如果沒有參數調用,返回一個Unix時間戳記(從'1970-01-01 00:00:00'GMT開始的秒數)。如果UNIX_TIMESTAMP()用一
個date參數被調用,它返回從'1970-01-01 00:00:00' GMT開始的秒數值。date可以是一個DATE字符串、一個DATETIME
字符串、一個TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地時間的一個數字。
mysql> select UNIX_TIMESTAMP();
-> 882226357
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');
-> 875996580
當UNIX_TIMESTAMP被用於一個TIMESTAMP列,函數將直接接受值,沒有隱含的「string-to-unix-timestamp」變換。
FROM_UNIXTIME(unix_timestamp)
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp參數所表示的值,取決於函數是在一個字符串
還是或數字上下文中被使用。
mysql> select FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
mysql> select FROM_UNIXTIME(875996580) + 0;
-> 19971004222300
FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 時間標記的一個字符串,根據format字符串格式化。format可以包含與DATE_FORMAT()函數列出的條
目同樣的修飾符。
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:%s %x');
-> '1997 23rd December 03:43:30 x'
SEC_TO_TIME(seconds)
返回seconds參數,變換成小時、分鐘和秒,值以'HH:MM:SS'或HHMMSS格式化,取決於函數是在一個字符串還是在數字
上下文中被使用。
mysql> select SEC_TO_TIME(2378);
-> '00:39:38'
mysql> select SEC_TO_TIME(2378) + 0;
-> 3938
TIME_TO_SEC(time)
返回time參數,轉換成秒。
mysql> select TIME_TO_SEC('22:23:00');
-> 80580
mysql> select TIME_TO_SEC('00:39:38');
-> 2378
2012年2月20日 星期一
在php4中運用json_encode
轉自:http://snippets.dzone.com/posts/show/7487
Credits goes to Steve http://usphp.com/manual/en/function.json-encode.php#82904
if (!function_exists('json_encode'))
{
function json_encode($a=false)
{
if (is_null($a)) return 'null';
if ($a === false) return 'false';
if ($a === true) return 'true';
if (is_scalar($a))
{
if (is_float($a))
{
// Always use "." for floats.
return floatval(str_replace(",", ".", strval($a)));
}
if (is_string($a))
{
static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
}
else
return $a;
}
$isList = true;
for ($i = 0, reset($a); $i < count($a); $i++, next($a))
{
if (key($a) !== $i)
{
$isList = false;
break;
}
}
$result = array();
if ($isList)
{
foreach ($a as $v) $result[] = json_encode($v);
return '[' . join(',', $result) . ']';
}
else
{
foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);
return '{' . join(',', $result) . '}';
}
}
}
?>
Credits goes to Steve http://usphp.com/manual/en/function.json-encode.php#82904
if (!function_exists('json_encode'))
{
function json_encode($a=false)
{
if (is_null($a)) return 'null';
if ($a === false) return 'false';
if ($a === true) return 'true';
if (is_scalar($a))
{
if (is_float($a))
{
// Always use "." for floats.
return floatval(str_replace(",", ".", strval($a)));
}
if (is_string($a))
{
static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
}
else
return $a;
}
$isList = true;
for ($i = 0, reset($a); $i < count($a); $i++, next($a))
{
if (key($a) !== $i)
{
$isList = false;
break;
}
}
$result = array();
if ($isList)
{
foreach ($a as $v) $result[] = json_encode($v);
return '[' . join(',', $result) . ']';
}
else
{
foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);
return '{' . join(',', $result) . '}';
}
}
}
?>
2012年2月7日 星期二
詳細學習PHP的日期時間函數date()
每次用都要找....
轉自http://www.walkone.com.tw/blog/?user_id=kimopig&subject_id=2759
1,年-月-日
echo date('Y-m-j');
2007-02-6
echo date('y-n-j');
07-2-6
大寫Y表示年四位元數字,而小寫y表示年的兩位元數字;
小寫m表示月份的數字(帶前導),而小寫n則表示不帶前導的月份數字。
echo date('Y-M-j');
2007-Feb-6
echo date('Y-m-d');
2007-02-06
大寫M表示月份的3個縮寫字元,而小寫m則表示月份的數字(帶前導0);
沒有大寫的J,只有小寫j表示月份的日期,無前導o;若需要月份帶前導則使用小寫d。
echo date('Y-M-j');
2007-Feb-6
echo date('Y-F-jS');
2007-February-6th
大寫M表示月份的3個縮寫字元,而大寫F表示月份的英文全寫。(沒有小寫f)
大寫S表示日期的尾碼,比如“st”、“nd”、“rd”和“th”,具體看日期數字為何。
小結:
表示年可以用大寫的Y和小寫y;
表示月可以用大寫F、大寫M、小寫m和小寫n(分別表示字元和數位的兩種方式);
表示日可以用小寫d和小寫j,大寫S表示日期的尾碼。
2,時:分:秒
默認情況下,PHP解釋顯示的時間為“格林威治標準時間”,與我們本地的時間相差8個小時。
echo date('g:i:s a');
5:56:57 am
echo date('h:i:s A');
05:56:57 AM
小寫g表示12小時制,無前導0,而小寫h則表示有前導0的12小時制。
當使用12小時制時需要表明上下午,小寫a表示小寫的“am”和“pm”,大寫A表示大寫的“AM”和“PM”。
echo date('G:i:s');
14:02:26
大寫G表示24小時制的小時數,但是不帶前導的;使用大寫的H表示帶前導的24小時制小時數
小結:
字母g表示小時不帶前導,字母h表示小時帶前導;
小寫g、h表示12小時制,大寫G、H表示24小時制。
3,閏年、星期、天
echo date('L');
今年是否閏年:0
echo date('l');
今天是:Tuesday
echo date('D');
今天是:Tue
大寫L表示判斷今年是否閏年,布林值,為真返回1,否則為0;
小寫l表示當天是星期幾的英文全寫(Tuesday);
而使用大寫D表示星期幾的3個字元縮寫(Tue)。
echo date('w');
今天星期:2
echo date('W');
本周是全年中的第 06 周
小寫w表示星期幾,數位形式表示
大寫W表示一年中的星期數
echo date('t');
本月是 28 天
echo date('z');
今天是今年的第 36 天
小寫t表示當前月份又多少天
小寫z表示今天是本年中第幾天
4,其他
echo date('T');
UTC
大寫T表示伺服器的時間區域設置
echo date('I');
0
大寫I表示判斷當前是否為夏令時,為真返回1,否則為0
echo date('U');
1170769424
大寫U表示從1970年1月1日到現在的總秒數,就是Unix時間紀元的UNIX時間戳。
echo date('c');
2007-02-06T14:24:43+00:00
小寫c表示ISO8601日期,日期格式為YYYY-MM-DD,用字母T來間隔日期和時間,時間格式為HH:MM:SS,時區使用格林威治標準時間(GMT)的偏差來表示。
轉自http://www.walkone.com.tw/blog/?user_id=kimopig&subject_id=2759
1,年-月-日
echo date('Y-m-j');
2007-02-6
echo date('y-n-j');
07-2-6
大寫Y表示年四位元數字,而小寫y表示年的兩位元數字;
小寫m表示月份的數字(帶前導),而小寫n則表示不帶前導的月份數字。
echo date('Y-M-j');
2007-Feb-6
echo date('Y-m-d');
2007-02-06
大寫M表示月份的3個縮寫字元,而小寫m則表示月份的數字(帶前導0);
沒有大寫的J,只有小寫j表示月份的日期,無前導o;若需要月份帶前導則使用小寫d。
echo date('Y-M-j');
2007-Feb-6
echo date('Y-F-jS');
2007-February-6th
大寫M表示月份的3個縮寫字元,而大寫F表示月份的英文全寫。(沒有小寫f)
大寫S表示日期的尾碼,比如“st”、“nd”、“rd”和“th”,具體看日期數字為何。
小結:
表示年可以用大寫的Y和小寫y;
表示月可以用大寫F、大寫M、小寫m和小寫n(分別表示字元和數位的兩種方式);
表示日可以用小寫d和小寫j,大寫S表示日期的尾碼。
2,時:分:秒
默認情況下,PHP解釋顯示的時間為“格林威治標準時間”,與我們本地的時間相差8個小時。
echo date('g:i:s a');
5:56:57 am
echo date('h:i:s A');
05:56:57 AM
小寫g表示12小時制,無前導0,而小寫h則表示有前導0的12小時制。
當使用12小時制時需要表明上下午,小寫a表示小寫的“am”和“pm”,大寫A表示大寫的“AM”和“PM”。
echo date('G:i:s');
14:02:26
大寫G表示24小時制的小時數,但是不帶前導的;使用大寫的H表示帶前導的24小時制小時數
小結:
字母g表示小時不帶前導,字母h表示小時帶前導;
小寫g、h表示12小時制,大寫G、H表示24小時制。
3,閏年、星期、天
echo date('L');
今年是否閏年:0
echo date('l');
今天是:Tuesday
echo date('D');
今天是:Tue
大寫L表示判斷今年是否閏年,布林值,為真返回1,否則為0;
小寫l表示當天是星期幾的英文全寫(Tuesday);
而使用大寫D表示星期幾的3個字元縮寫(Tue)。
echo date('w');
今天星期:2
echo date('W');
本周是全年中的第 06 周
小寫w表示星期幾,數位形式表示
大寫W表示一年中的星期數
echo date('t');
本月是 28 天
echo date('z');
今天是今年的第 36 天
小寫t表示當前月份又多少天
小寫z表示今天是本年中第幾天
4,其他
echo date('T');
UTC
大寫T表示伺服器的時間區域設置
echo date('I');
0
大寫I表示判斷當前是否為夏令時,為真返回1,否則為0
echo date('U');
1170769424
大寫U表示從1970年1月1日到現在的總秒數,就是Unix時間紀元的UNIX時間戳。
echo date('c');
2007-02-06T14:24:43+00:00
小寫c表示ISO8601日期,日期格式為YYYY-MM-DD,用字母T來間隔日期和時間,時間格式為HH:MM:SS,時區使用格林威治標準時間(GMT)的偏差來表示。
2011年2月8日 星期二
2010年5月30日 星期日
蓄情青絲
從小的時候. 便很不喜歡剪頭髮, 所以總是一直任由他長.
軍訓剪過一次, 在合肥時身無分文剪過一次, 坐完月子剪一次.
而昨天, 是第四次.
三年多的時間, 頭髮越長, 也越容易掉, 滿地都是落髮.
細想想, 也只有父親喜歡留長髮的我. 其他的人, 好像都是討厭的.
而我, 當然不會在乎這些不喜歡我頭髮的人.
前些天上班, 一個小朋友的家長和我說頭髮很長的話可以捐出去.
我從不知道頭髮是可以捐的. 所以回家以後查了一下, 真的可以.
或許很多人和我一樣不知道, 那我把收集到的信息轉貼一下:
◎捐髮條件:
˙髮長30cm 以上
˙不染不燙的原生頭髮
˙髮色黑色、髮質未受損
˙自行剪下的髮束需切齊
◎受捐單位:
˙癌症希望協會:(02)33226286
地址:100台北市中正區臨沂街3巷5號1樓
˙切膚之愛基金會:(04)7285420
˙大觀愛髮媒合中心:(02)29178770
髮長20公分以上者可以聯絡
中華民國乳癌病友協會:http://www.tbca-npo.org.tw/news_content.asp?ser_no=295
====
最近的捐髮活動
http://www.17885.com.tw/welfare/show.asp?serial=4448
即日起至2010年12月底,凡參與六分鐘護一生<六吋分享會>捐出健康秀髮者,即可獲得主辦單位寶僑家品贈送之精美贈品。
有意願捐髮的民眾,歡迎來電02-3322-6286分機27
=========
我去的是幫忙義剪的Boris-HC.
http://www.hairsalon.com.tw/knowledge/show.asp?forumid=862&VenderId=3&Mk_url=show.asp
雖然是兩年前的活動, 可是他們一直持續著. 所以當我試探的打電話過去時竟然真的可以.
嗯言歸正傳, 我的<剪髮記>
話說這天下午, 連天公公也憐惜我的三千青絲, 竟然微微地飄起雨.
兒子學完鋼琴, 我便去101那邊找Boris-HC, 找了很久, 因為我竟然記的是他們的舊址, 幸而他們搬的新的office並不是很遠.
Boris-HC髮型文化顧問公司中心
預約電話:(02) 87873060、87873090
地址:台北市基隆路一段141號2樓
市政府捷運站一號出口出去以後不久就到了.
嗯, 我承認, 我是懶到極點的人, 而且也不想花了錢又被剪到不好看的頭, 所以來臺灣這麼久還沒有去過<高級>的髮型中心, 到Boris-HC時著實嚇到了.
走道是漂亮的文宣, 後來才知道是依五行設計的髮型.
http://www.hairsalon.com.tw/knowledge/show.asp?forumid=1372&VenderId=3
要進去時發現暗暗的. 好像...下班了?
於是施展電話神功, 還好馬上就有設計師出來了.
然後我坐在一個燈光比咖啡廳還暗的地方, 忐忑的聽著自己的呼吸...
(完全一整個農村人進城的感覺)
這次幫我義剪的是MeLvis, 英文的名字超過三個字節的我都不會唸. 所以到現在還是不知道這個幫我剪了兩個半小時的頭髮的年輕的設計師的名字要怎麼拼.
他先幫我量了頭髮, 有五十多公分, 說實話我沒概念, 只知道放下來己經過腰了.
我的髮質一直是不錯的, 平時很少吹頭髮, 只是不知道為什麼會一直掉.
MeLvis說可能是頭髮太長了, 所以很重, 就會掉 =.=
MeLvis細心的幫我洗頭吹乾, 我平時偶爾在家吹頭髮, 吹半小時還是濕的, 可見髮量之多(也許也有一半的原因是我吹頭髮的技術太爛). 所以我能理解幫我洗頭和吹頭髮的痛苦.
我說剪成男生一樣的就可以了, 越短越好, 一則可以捐更長的頭髮, 二則我也可以少花點時間整理髮. MeLvis幫我盡量長的剪下頭髮, 然後開始研究, 嗯, 是的, 研究. 研究起我的頭型, 他說我後面好圓, 不剪短髮就是一種浪費, 說得我整個人激昂起來, 原來我有這麼傲人的後腦(!!!).
MeLvis說我前面不能剪太短, 因為我的臉脥不夠胖, 所以兩邊要留一點, 這樣下巴看起來比較尖, 其實我不確定他是不是這樣講的, 因為我對專業術語完全一個聽不懂. 大概就是說幫我量<頭>定做就是了.
然後. 然後!!! MeLvis幫我梳了一個中分頭! 我整個不敢看, 太土了, 土到極致.
MeLvis笑著說, 這樣方便他剪後比較對稱的頭髮.
嗯, 後面剪超短, 我可以從四面八方的鏡子看到我後面的髮型, 安靜的房子, 不是很亮的燈光, MeLvis手起剪刀落, 只聽到喀喀的聲音, 還有漂亮的手法, 於是我忽視中分頭, 認真的看著真的很圓的髮型.
中間有其他的設計師拿捐贈的問卷給我填寫, 如果有送出以我的頭發做的假髮的話會通知我, 其中有一項是問是否滿意這次的髮型, 在結束時我開心的寫上很滿意. 做善事又能換髮型, 賺大方了.
MeLvis一直說想把我剪得成熟一點, 結果剪完以後他大嘆<還是一樣小啊.>
<可是看起來老很多了.> 我安慰著他.
MeLvis有問我為什麼頭髮留這麼長, 我說怕被剪壞, 於是勾起他的<傷心事(?)>, 他<沉痛>地說, 現在很多理髮的工作者都不管真正的髮型了, 只要客人要求什麼就剪什麼, 並沒有真正的給客人適合的.
其實, 很多領域都是這樣的, 有些人, 對於工作只是為了可以賺錢吃飯, 而且些人, 對於工作則是更加深入地尋找對自己人生更有意義的價值所在.
所以, 有些人, 越來越快樂, 有些人, 越來越迷茫.
快樂的人, 於是更加的善良, 一如Boris-HC, 持續著義剪的活動, 低調地, 安靜地, 快樂地.
開始和結束的時候, MeLvis都雙手合十, 似感恩, 似謙遜.
==============================
今天上班時, 一些小朋友的家長看到我, 都很開心的說, 新的髮型好看. 我也很開心, 所以, 一直High到現在.
相片還沒有放上來, 等收到了再補上, 呵呵, 可以看看我的新髮型, 至少, 看起來不會像國中生了.
軍訓剪過一次, 在合肥時身無分文剪過一次, 坐完月子剪一次.
而昨天, 是第四次.
三年多的時間, 頭髮越長, 也越容易掉, 滿地都是落髮.
細想想, 也只有父親喜歡留長髮的我. 其他的人, 好像都是討厭的.
而我, 當然不會在乎這些不喜歡我頭髮的人.
前些天上班, 一個小朋友的家長和我說頭髮很長的話可以捐出去.
我從不知道頭髮是可以捐的. 所以回家以後查了一下, 真的可以.
或許很多人和我一樣不知道, 那我把收集到的信息轉貼一下:
◎捐髮條件:
˙髮長30cm 以上
˙不染不燙的原生頭髮
˙髮色黑色、髮質未受損
˙自行剪下的髮束需切齊
◎受捐單位:
˙癌症希望協會:(02)33226286
地址:100台北市中正區臨沂街3巷5號1樓
˙切膚之愛基金會:(04)7285420
˙大觀愛髮媒合中心:(02)29178770
髮長20公分以上者可以聯絡
中華民國乳癌病友協會:http://www.tbca-npo.org.tw/news_content.asp?ser_no=295
====
最近的捐髮活動
http://www.17885.com.tw/welfare/show.asp?serial=4448
即日起至2010年12月底,凡參與六分鐘護一生<六吋分享會>捐出健康秀髮者,即可獲得主辦單位寶僑家品贈送之精美贈品。
有意願捐髮的民眾,歡迎來電02-3322-6286分機27
=========
我去的是幫忙義剪的Boris-HC.
http://www.hairsalon.com.tw/knowledge/show.asp?forumid=862&VenderId=3&Mk_url=show.asp
雖然是兩年前的活動, 可是他們一直持續著. 所以當我試探的打電話過去時竟然真的可以.
嗯言歸正傳, 我的<剪髮記>
話說這天下午, 連天公公也憐惜我的三千青絲, 竟然微微地飄起雨.
兒子學完鋼琴, 我便去101那邊找Boris-HC, 找了很久, 因為我竟然記的是他們的舊址, 幸而他們搬的新的office並不是很遠.
Boris-HC髮型文化顧問公司中心
預約電話:(02) 87873060、87873090
地址:台北市基隆路一段141號2樓
市政府捷運站一號出口出去以後不久就到了.
嗯, 我承認, 我是懶到極點的人, 而且也不想花了錢又被剪到不好看的頭, 所以來臺灣這麼久還沒有去過<高級>的髮型中心, 到Boris-HC時著實嚇到了.
走道是漂亮的文宣, 後來才知道是依五行設計的髮型.
http://www.hairsalon.com.tw/knowledge/show.asp?forumid=1372&VenderId=3
要進去時發現暗暗的. 好像...下班了?
於是施展電話神功, 還好馬上就有設計師出來了.
然後我坐在一個燈光比咖啡廳還暗的地方, 忐忑的聽著自己的呼吸...
(完全一整個農村人進城的感覺)
這次幫我義剪的是MeLvis, 英文的名字超過三個字節的我都不會唸. 所以到現在還是不知道這個幫我剪了兩個半小時的頭髮的年輕的設計師的名字要怎麼拼.
他先幫我量了頭髮, 有五十多公分, 說實話我沒概念, 只知道放下來己經過腰了.
我的髮質一直是不錯的, 平時很少吹頭髮, 只是不知道為什麼會一直掉.
MeLvis說可能是頭髮太長了, 所以很重, 就會掉 =.=
MeLvis細心的幫我洗頭吹乾, 我平時偶爾在家吹頭髮, 吹半小時還是濕的, 可見髮量之多(也許也有一半的原因是我吹頭髮的技術太爛). 所以我能理解幫我洗頭和吹頭髮的痛苦.
我說剪成男生一樣的就可以了, 越短越好, 一則可以捐更長的頭髮, 二則我也可以少花點時間整理髮. MeLvis幫我盡量長的剪下頭髮, 然後開始研究, 嗯, 是的, 研究. 研究起我的頭型, 他說我後面好圓, 不剪短髮就是一種浪費, 說得我整個人激昂起來, 原來我有這麼傲人的後腦(!!!).
MeLvis說我前面不能剪太短, 因為我的臉脥不夠胖, 所以兩邊要留一點, 這樣下巴看起來比較尖, 其實我不確定他是不是這樣講的, 因為我對專業術語完全一個聽不懂. 大概就是說幫我量<頭>定做就是了.
然後. 然後!!! MeLvis幫我梳了一個中分頭! 我整個不敢看, 太土了, 土到極致.
MeLvis笑著說, 這樣方便他剪後比較對稱的頭髮.
嗯, 後面剪超短, 我可以從四面八方的鏡子看到我後面的髮型, 安靜的房子, 不是很亮的燈光, MeLvis手起剪刀落, 只聽到喀喀的聲音, 還有漂亮的手法, 於是我忽視中分頭, 認真的看著真的很圓的髮型.
中間有其他的設計師拿捐贈的問卷給我填寫, 如果有送出以我的頭發做的假髮的話會通知我, 其中有一項是問是否滿意這次的髮型, 在結束時我開心的寫上很滿意. 做善事又能換髮型, 賺大方了.
MeLvis一直說想把我剪得成熟一點, 結果剪完以後他大嘆<還是一樣小啊.>
<可是看起來老很多了.> 我安慰著他.
MeLvis有問我為什麼頭髮留這麼長, 我說怕被剪壞, 於是勾起他的<傷心事(?)>, 他<沉痛>地說, 現在很多理髮的工作者都不管真正的髮型了, 只要客人要求什麼就剪什麼, 並沒有真正的給客人適合的.
其實, 很多領域都是這樣的, 有些人, 對於工作只是為了可以賺錢吃飯, 而且些人, 對於工作則是更加深入地尋找對自己人生更有意義的價值所在.
所以, 有些人, 越來越快樂, 有些人, 越來越迷茫.
快樂的人, 於是更加的善良, 一如Boris-HC, 持續著義剪的活動, 低調地, 安靜地, 快樂地.
開始和結束的時候, MeLvis都雙手合十, 似感恩, 似謙遜.
==============================
今天上班時, 一些小朋友的家長看到我, 都很開心的說, 新的髮型好看. 我也很開心, 所以, 一直High到現在.
相片還沒有放上來, 等收到了再補上, 呵呵, 可以看看我的新髮型, 至少, 看起來不會像國中生了.
2010年3月7日 星期日
臺灣數獨協會第一屆全國比賽順利落幕
就算是現在回到家, 也還能感覺到現場參賽選手的緊張氛圍.
這次的比賽是為了選拔選手去參加世界數獨比賽, 所以競賽組的題稍難.
可是選手們都非常認真的作答.
尤其是從新苗組轉到競賽組的 李威霖 小朋友, 看著他的題目上的候選數, 其工整度可以媲美尤怪的數獨大師的軟體了. 左上, 右上, 左下, 右下角, 小小的數字, 方方正正的, 看著讓人感動.
第一階段有一位差一點滿分的選手, 因為粗心第一題少寫二個數. 還在上學, 媽媽很驚訝小朋友原來這麼厲害.
綠芽組有一對雙胞胎, 才七歲, 雙雙進入決賽, 上台比賽時還墊著墊板才能寫到最上面的格子.
也有穿著童軍的服裝來參賽的, 強壯的體格, 靈慧的頭腦, 為父為母者一定非常欣慰.
長青組更是老當益壯, 當得知第一名時, 也和孩童一般高興得跳起來舉著雙手說<我贏了.>
從拉贊助, 借場地, 宣傳, 到場地佈置, 工作安排, 所有的一切, 每一個參與的人都被渲染到一種叫<熱情>的情緒, 因為學校在基測, 所以不能用麥克風, 只好用一台小小的擴音器, 也因為考試的緣故, 我們的數獨現場體驗教學活動只好取消. 但是大家克難參與, 除了因為第一次辦比賽沒有經驗, 到決賽時有少許的騷亂, 其他都很順利的進行.
我們會吸取這次活動的不足, 把活動的樂趣, 意義, 延續下去, 爭取下一次比賽的到來.
接下來. 就看國手們在四月去美國比賽的表現了. 加油! 數獨er.
辛苦了. 每一位用心付出的朋友.
這次的比賽是為了選拔選手去參加世界數獨比賽, 所以競賽組的題稍難.
可是選手們都非常認真的作答.
尤其是從新苗組轉到競賽組的 李威霖 小朋友, 看著他的題目上的候選數, 其工整度可以媲美尤怪的數獨大師的軟體了. 左上, 右上, 左下, 右下角, 小小的數字, 方方正正的, 看著讓人感動.
第一階段有一位差一點滿分的選手, 因為粗心第一題少寫二個數. 還在上學, 媽媽很驚訝小朋友原來這麼厲害.
綠芽組有一對雙胞胎, 才七歲, 雙雙進入決賽, 上台比賽時還墊著墊板才能寫到最上面的格子.
也有穿著童軍的服裝來參賽的, 強壯的體格, 靈慧的頭腦, 為父為母者一定非常欣慰.
長青組更是老當益壯, 當得知第一名時, 也和孩童一般高興得跳起來舉著雙手說<我贏了.>
從拉贊助, 借場地, 宣傳, 到場地佈置, 工作安排, 所有的一切, 每一個參與的人都被渲染到一種叫<熱情>的情緒, 因為學校在基測, 所以不能用麥克風, 只好用一台小小的擴音器, 也因為考試的緣故, 我們的數獨現場體驗教學活動只好取消. 但是大家克難參與, 除了因為第一次辦比賽沒有經驗, 到決賽時有少許的騷亂, 其他都很順利的進行.
我們會吸取這次活動的不足, 把活動的樂趣, 意義, 延續下去, 爭取下一次比賽的到來.
接下來. 就看國手們在四月去美國比賽的表現了. 加油! 數獨er.
辛苦了. 每一位用心付出的朋友.
訂閱:
文章 (Atom)
