關於SQL 中的單引號和雙引號

來源:互聯網
上載者:User

以Insert語言為例,很多同學都在這個方面發生了問題,其實主要是因為資料類型和變數在作怪。下面我們就分別講述,雖然說的是Insert語句,但是Select、Update、Delete語句都是一樣的。 假如有 mytable表格,如下:
        
         欄位1    username     字串型(姓名)
         欄位2    age               數字型(年齡)
         欄位3    birthday        日期型(生日)
         欄位4    marry            布爾型(是否結婚,結婚為True,未結婚為False)

         欄位5    leixing           字串型(類型)


         1.插入字串型
         假如要插入一個名為張紅的人,因為是字串,所以Insert語句中名字兩邊要加單撇號,如:
         strsql="Insert into mytable(username) values('張紅')";
         如果現在姓名是一個變數thename,則寫成
         strsql="Insert into mytable(username) values('" +thename + "')";
         這裡“Insert into mytable(username) values(' ” 是張紅前面的部分,thename是字串變數,“ ') ”是張紅後面的部分。
將thename變數替換成張紅,再用+將三段串連起來,就變成了
strsql="Insert into mytable(username) values('張紅')";
          如果要插入兩個欄位,如姓名為“張紅”,類型為“學生”
         strsql="Insert into mytable(username,leixing) values('張紅','學生')"
         如果現在姓名是一個變數thename,類型也是一個變數thetype,則寫成:
         strsql="Insert into mytable(username,leixing) values('" +thename+"','" +thetype +"')"
         和第一個例子一樣,將thename和thetype替換後,再用串連符,就串連成和上面一樣的字串了。
         2.插入數字型
         假如插入一個年齡為12的記錄,要注意數字不用加單撇號:
         strsql="Insert into mytable(age) values(12)";
         如果現在年齡是一個變數theage,則為:
         strsql="Insert into mytable(age) values(" +theage+ ")";
         這裡“Insert into mytable(age) values( ”是12前面的部分,theage是年齡變數,“ ) ”是12後面部分。將theage替換,再用+串連符將三部分串連起來,就變為了和上面一樣的字元。
         3.插入日期型
         日期型和字串型類似,但是要將單撇號替換為#號。(不過,access資料庫中用單撇號也可以)
         strsql=“Insert into mytable(birthday) values(#1980-10-1#)”
         如果換成日期變數thedate
         strsql=“Insert into mytable(birthday) values(#” +thedate+ “#)”
         4.插入布爾型
         布爾型和數字型類似:只不過只有兩個值 True和False,如:
         strsql="Insert into mytable(marry) values(True)"
         如果換成布爾變數themarry
         strsql="Insert into mytable(birthday) values(" +themarry+ ")";
         5.綜合樣本
         插入一個姓名為張紅,年齡為12的記錄
         strsql="Insert into mytable(username,age) values('張紅',12)";
         仔細注意上式:因為姓名是字串,所以張紅兩邊加了單撇號;年齡是數字,所以沒有加單撇號。
         如果換成字串變數thename和數字變數theage,則變為:
         strsql=“Insert into mytable(username,age) values('" +thename + "’," +theage + ")";
         注意上式,總之,替換變數,再串連後要完成和上邊一樣的字串。
         6.小竅門
         有一位同學摸索出了一個小竅門,要把下面的語句題換成變數的寫法:
         strsql="Insert into mytable(username) values(‘張紅’)"
         第一步:先把張紅抹去,在原位置加兩個引號
         strsql="Insert into mytable(username) values('"   "')";
         第二步:在中間添加兩個串連符+
         strsql=“Insert into mytable(username) values('" +  + "')";
         第三步:把變數寫在兩個串連符之間
         strsql=“Insert into mytable(username) values('" +thename+  "')”

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.