在 MySQL 查詢中,VARCHAR(100) 的輸出為“partnumberp一種r噸n在米b和rpartnumber’ 儘管在具有更多列的查詢中,它仍然顯示為 ‘p-12345’
這是一個糟糕的問題,因為我只是偶然選擇了一個有垃圾數據並且在測試期間必須更改了 where 條件的客戶端時犯了一個錯誤,而且這也是一個連接問題,我什至沒有在問題中提到導致了這麼多奇怪的
[partnumber]
條目,限制 10 查詢只顯示了那些。所以我認為整個專欄都會有這個價值。我不確定是否應該刪除它。它也可以幫助那些在不知情的情況下擁有垃圾數據的人。如果您認為該問題浪費了您的時間,您可以投票結束該問題。因為我自己認為這可能是在浪費時間閱讀。在具有許多列的普通
SELECT p.* FROM table
查詢中,輸出顯示所需列中的值,每個數字都會顯示,僅顯示帶有部分編號的列(部分數字,如 p-12345):但是,當我只要求僅使用 的那一列時
SELECT client_x FROM table
,我得到:更新:
我現在可以看到該列的值了!!它們不再顯示
[partnumber]
在每一行中,而是其中還有數字和字元串以及空值。我在其中有客戶端的 where 條件,並且該客戶端的值始終是
$$ partnumber $$. 僅在該客戶端中才是垃圾。 更新結束
列數據類型為
varchar(100)
. 它應該被視為普通字元串。我使用 DBeaver,但這不應該發揮作用。
如果我將該列與某個字元串連接,則該值將顯示為一個空字元串:
SELECT CONCAT("test", client_x) FROM table
僅返回“測試”作為值。
如何
[partnumber]
在列輸出中避免此輸出並顯示零件編號字元串,就像我剛執行時顯示的那樣SELECT * FROM table
?
如果您需要操作數據,則不能使用
SELECT *
.如果您看到
[partnumber]
來自桌子,那麼 GIGO。注意:MySQL 不使用括號。如果該列被命名為 `partnumber,那麼其中任何一個都可以工作,但括號不會:
partnumber `partnumber`
其他一些數據庫引擎使用括號。
如果表包含
1234567
,但您想查看p-1234567
:SELECT CONCAT('p-', partnumber) AS partnumber, ...
如果表格包含
p-1234567
並且您想要顯示1234567
,這是一種假設需要去除前 2 個字元的方法:SELECT MID(partnumber, 3) AS partnumber, ...
如果這些都沒有回答你的問題,請改寫它。