同樣2條sql,加單引號,不加單引號,為什麼type型別這麼大區別啊

2021-08-13 12:22:47 字數 2588 閱讀 7619

1樓:四捨**入

是因為sql執行錯誤。

可以使用語句select`from`,aidfrompre_portal_article_title。

當自定義的資料庫欄位和資料庫的關鍵字重名時,需要使用反引號(數字1左邊的符號)將欄位名擴起來才可以正常使用。

同樣應用於表明,當使用者的資料表的表名是關鍵字的時候,這時就會有衝突了,mysql的轉譯字元是``,當出現衝突時候就必須使用轉義字元了,沒有衝突可以用,但是不是必要條件。

擴充套件資料:

sql參考語句

更新:update table1 set field1=value1 where 範圍

查詢:select * from table1 where field1 like 』%value1%』 (所有包含『value1』這個模式的字串)

排序:select * from table1 order by field1,field2 [desc]

求和:select sum(field1) as sumvalue from table1

刪除列alter table table_name drop column column_name--從表中刪除一列

新增主鍵

alter table tabname add primary key(col)

2樓:

表結構中,字段型別是char或者varchar的,查詢條件中如果不帶引號,資料庫執行sql時,會有乙個**的型別轉換,把數字轉換成字串,然後再掃瞄。這樣的寫法及時有建立了索引,也不會走索引。這是索引抑制的其中一種情況。

所以type有很大區別。

望採納。

這兩條sql查詢語句有什麼區別?為什麼加了單引號的查詢結果集比不加的多?

3樓:匿名使用者

前者按字元'6'和'7"這兩個字元去篩選記錄行,後者用6和8這兩個數字去篩選記錄行,儘管這兩種寫法的返回結果通常是一樣的,但是請注意資料庫引擎在實際執行時會根據字段「send_status」的資料型別實施不同的執行策略,因為執行策略的不同在某些情形下可能會返回不一樣的結果。

如果"send_status」的資料型別是數字,對於第一條語句,系統會先將字元'6'和'7"這兩個字元轉換數字6和7,然後才去按數字篩選出符合條件的行。對於第二條語句則無需型別轉換直接按數字篩選符合條件的行了;反之,如果"send_status」的資料型別是文字,資料庫引擎的執行策略則剛好相反。

在發生了型別轉換的情況下,提問中的兩種sql語句返回的結果不一致是有可能的,因為字元轉換為數字或數字轉換為字元其結果的變化其實是比較複雜的,舉個例子字元「4.00」轉化為數字就變成4了,如果加上具體的數字型別來考慮例如定點數、浮點數那就更加複雜了。因此我們要在編寫涉及數字篩選的sql語句時,在是否對數字值加引號的問題上要根據被篩選欄位的資料型別來確定,如果被篩選欄位的型別屬於數字,則不要對數字值加引號,反之就要對數字值加上引號,這樣我們編寫出來的sql語句才能確保始終返回正確結果。

4樓:匿名使用者

你可以用select * from send_black t where send_status in('6','7') and t.id not in (select t.id from send_black t where send_status in(6,7)) 來查詢哪些資料無法用第二種sql查詢出,這些資料是否符合你預期的查詢結果集 t.

id是 send_black t 表的主鍵

sql查詢語句中,為什麼在where後面查詢條件有的要加單引號,有的不用加,什麼時候加,什麼時候不加?

5樓:

要看字段型別,是字串varchar格式的才要加' '

其他比如數字型別的就不要加

6樓:匿名使用者

字元型之類要加,int型之類不用加

7樓:匿名使用者

單引號是引出條件的,只要是外加的條件都要加單引號

在sql中字元何時用單引號引住?何時用雙引號引住?雙引號和單引號有什麼區別?

sql中插入值,修改更新為什麼有些數字是加單引號''的,有些不加的?

8樓:匿名使用者

欄位的型別不一致,比如插入 字串型別的,就需要在在 數字上加 '',可以防止 0123的結果丟失0,如果插入的字段是數值型,則不需要加 ''即可

sql中單引號和雙引號加倍的區別?

9樓:匿名使用者

表示你的字串中含有引號。單引號在sql語句中,乙個'用兩個連續的''替換。雙引號則不需要特殊處理。

10樓:匿名使用者

postgresql 裡用雙引號表示欄位名(如果和關鍵字重名防止產生歧義); mysql 裡用 `` 實現同樣的功能,這樣雙引號和單引號是一樣的。

11樓:匿名使用者

看什麼資料庫了.比如mysql 都一樣.

但是oracle不支援雙引號.

建議統一用單引號

裝單條4G1600記憶體與 2G 2G 1333雙通道記憶體哪個

己前2g是標配,可現在吃記憶體的程式到處都是,4g便成了標配,過幾年8g恐怕也不遠了。所以直接上單條4g是做好長遠打算的精明人。至於說到效能,兩的者的效能相差不到10 何況你不去評測很難看出來。但總歸雙通道在效能上肯定是有提公升的。至於取捨,自己隨便選擇就是了。最好要 單條4g1600記憶體,單通道...

電腦加記憶體條不開機,電腦插2條記憶體條開不了機怎麼回事?

不同代的後果,不能配對,降頻最快解決,但試過公升級bios,能解決的!估計是記憶體頻率與cpu外頻不配對,建議公升級bios,配對不是問題 2014年的bios cpu i3 4150的外頻也是100mhz那麼記憶體頻率就是33 40 ddr3 1333 3.5g 100 35 故系統調 ddr3 ...

我現在的電腦記憶體是2G1600單條。朋友送我一條2G1333。我能兩條一起用嗎?網上說會變成4G

這是記憶體速率不同,高的降頻到低頻工作。如果是xp系統,只用2g1600就行 如果是win7或以上系統,2g1600 2g1333正常工作不藍屏,推薦用4g,能提高執行速度。如果插上不藍屏就能用,應該可以組雙通道,雙通道的執行速度理論上是單通道的2倍,當然更好,但由於記憶體頻率以最低為準,會降頻為4...