線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3948
推到 Plurk!
推到 Facebook!

字串補0的語法?

答題得分者是:carstyc
pedro
尊榮會員


發表:152
回覆:1177
積分:875
註冊:2002-06-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-12-09 12:29:26 IP:60.248.xxx.xxx 未訂閱
請教各位

(1)在sql server 200可以用
SELECT right('00' CAST(MONTH('2009/09/3') AS varchar(2)),2) mont
結果09

(2)但在mysql下
SELECT right('00' cast(MONTH('2009/09/02') as char),2) mont
結果只秀9

(3)後來我用
SELECT right(concat('00',MONTH('2009/09/02')),2) mont
才能正確結果

我的問題是第2段怎麼修成用 的方式達到?
謝謝
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-12-09 13:17:17 IP:59.124.xxx.xxx 訂閱
Would you want to try LPAD?
http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_lpad

just use LPAD('09', 4, '0000'), the result will be '0009'.


===================引 用 pedro 文 章===================
請教各位

(1)在sql server 200可以用
SELECT right('00' CAST(MONTH('2009/09/3') AS varchar(2)),2) mont
結果09

(2)但在mysql下
SELECT right('00' cast(MONTH('2009/09/02') as char),2) mont
結果只秀9

(3)後來我用
SELECT right(concat('00',MONTH('2009/09/02')),2) mont
才能正確結果

我的問題是第2段怎麼修成用 的方式達到?
謝謝
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-12-09 15:48:29 IP:203.79.xxx.xxx 訂閱
pedro 大大

mysql 裡面就是沒辦法直接把字串相加

select 'AA' 'BB'

所以才必須使用 concat 函數來完成兩個字串相加

select concat('AA','BB')

您的第3個寫法已經是最標準的了

應該沒有其它用 的語法了吧...


===================引 用 pedro 文 章===================
請教各位

(1)在sql server 200可以用
SELECT right('00' CAST(MONTH('2009/09/3') AS varchar(2)),2) mont
結果09

(2)但在mysql下
SELECT right('00' cast(MONTH('2009/09/02') as char),2) mont
結果只秀9

(3)後來我用
SELECT right(concat('00',MONTH('2009/09/02')),2) mont
才能正確結果

我的問題是第2段怎麼修成用 的方式達到?
謝謝
GrandRURU
站務副站長


發表:237
回覆:1658
積分:1759
註冊:2005-06-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-12-09 20:04:42 IP:118.167.xxx.xxx 未訂閱
mysql 裡面就是沒辦法直接把字串相加 + 1

不然…用MySQL C API自己寫一個select語法擴充吧!

這時候要把暗黑大搬出來啦!哈哈!

===================引 用 carstyc 文 章===================
pedro 大大

mysql 裡面就是沒辦法直接把字串相加

select 'AA' 'BB'

所以才必須使用 concat 函數來完成兩個字串相加

select concat('AA','BB')

您的第3個寫法已經是最標準的了

應該沒有其它用 的語法了吧...
pedro
尊榮會員


發表:152
回覆:1177
積分:875
註冊:2002-06-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-12-09 20:24:38 IP:61.217.xxx.xxx 未訂閱
感謝大家的回覆

原來在mysql加號無法兩字串連在一起.

Coffee所提的,又讓我學到另一種解法,謝謝



===================引 用 GrandRURU 文 章===================
mysql 裡面就是沒辦法直接把字串相加 1

不然…用MySQL C API自己寫一個select語法擴充吧!

這時候要把暗黑大搬出來啦!哈哈!

===================引 用 carstyc 文 章===================
pedro 大大

mysql 裡面就是沒辦法直接把字串相加
編輯記錄
pedro 重新編輯於 2009-12-09 20:27:22, 註解 無‧
系統時間:2018-01-18 23:24:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!