ฉันจะตั้งค่าคอลัมน์เป็น NULL ใน SQL Server Management Studio ได้อย่างไร


คำตอบ:


329

ฉันคิดว่า@Zackตอบคำถามได้อย่างถูกต้อง แต่เพื่อครอบคลุมฐานทั้งหมด:

Update myTable set MyColumn = NULL

สิ่งนี้จะตั้งค่าทั้งคอลัมน์เป็นโมฆะตามที่ชื่อคำถามถาม

ในการตั้งค่าแถวที่ระบุในคอลัมน์ที่ระบุเป็นค่าว่างให้ใช้:

Update myTable set MyColumn = NULL where Field = Condition.

สิ่งนี้จะตั้งค่าเซลล์ที่ระบุเป็นโมฆะตามที่คำถามภายในถาม


3
ข้อความคำถามของเขาถามเกี่ยวกับการล้างค่าจากเซลล์ไม่ใช่คอลัมน์ทั้งหมด คุณอาจต้องทำคำสั่งย่อยเพื่อค้นหาระเบียนที่คุณต้องการแก้ไข
TheTXI

3
@TheTXI จับที่ดี อย่างที่เขียนไว้ว่า SQL นั้นอันตรายอย่างยิ่ง
Michael Haren

24
ฉันจงใจทิ้งเงื่อนไขไว้จริง ๆ ... ถ้าคุณดูที่คำถามตัวหนาของชื่อเขาเขาถามว่าคุณตั้งคอลัมน์เป็นโมฆะได้อย่างไร
เจฟมาร์ติน

197

หากคุณได้เปิดโต๊ะและคุณต้องการล้างค่าที่มีอยู่ให้เป็น NULL คลิกที่คุ้มค่าและกด+Ctrl0


9
เพื่อความเป็นธรรม Azure ไม่มีอยู่เมื่อมีการถาม / ตอบคำถามนี้
Jeff Martin

34

หากคุณใช้ส่วนต่อประสานตารางคุณสามารถพิมพ์เป็น NULL (ตัวพิมพ์ใหญ่ทั้งหมด)

มิฉะนั้นคุณสามารถเรียกใช้คำสั่งอัปเดตที่คุณสามารถ:

Update table set ColumnName = NULL where [Filter for record here]

11

ใช้สิ่งนี้:

Update Table Set Column = CAST(NULL As Column Type) where Condition

แบบนี้:

Update News Set Title = CAST(NULL As nvarchar(100)) Where ID = 50

6
สนใจที่จะอธิบายว่าทำไมคำตอบของคุณดีกว่าคำตอบอื่น ๆ ฉันหมายถึงคุณโพสต์สิ่งนี้ประมาณครึ่งปีต่อมา
fancyPants

5

Ctrl + 0 หรือล้างค่าและกด Enter


3
การล้างค่าและการคลิก Enter จะไม่สร้างค่า NULL ถ้าคอลัมน์เป็นประเภทข้อมูลสตริง (varchar และชอบ) มันจะสร้างสตริงที่ว่างเปล่า หากคอลัมน์นั้นเป็นประเภทข้อมูลที่เป็นตัวเลข (int และไม่ชอบ) ก็จะปรากฏขึ้นข้อผิดพลาดค่าไม่ถูกต้อง และอื่น ๆ NULL คือการไม่มีค่าและไม่ได้หมายความว่า "blank"
ยกเลิกการจัดวาง

0

CTRL + 0 ไม่ทำงานเมื่อเชื่อมต่อกับ Azure DB

อย่างไรก็ตามในการสร้างสตริงว่างคุณสามารถกด 'anykey แล้วลบ' ภายในเซลล์ได้ตลอดเวลา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.