คำถามติดแท็ก null

แนวคิดฐานข้อมูลที่ใช้เพื่อแสดงข้อมูลที่หายไปไม่ทราบหรือไม่เหมาะสม

3
คอลัมน์ nullable สองคอลัมน์จำเป็นต้องมีค่า
คำถามที่ไม่มีคำอธิบาย: อย่างไรก็ตามมีข้อ จำกัด ของค่า Null 2 ​​ค่าที่ต้องมีค่า 1 เสมอหรือไม่ ตัวอย่างเช่นสองคอลัมน์วันที่ทั้งเป็นโมฆะ แต่มีอย่างน้อย 1 ที่ต้องมีค่า คำอธิบายปัญหา: สมมติว่าฉันมีตารางที่เรียกว่าค่าใช้จ่าย และมี 2 วัน: prevision_expense_expiration_date DATE NULLABLE ค่าใช้จ่าย _payment_date DATE NULLABLE ตรรกะของคอลัมน์ 2 คอลัมน์ดังต่อไปนี้: ฉันซื้อของบางอย่างและฉันรู้ว่าฉันต้องจ่ายเงินสำหรับบางวันเช่นค่าโทรศัพท์ ฉันจะป้อนสิ่งนี้เป็นค่าใช้จ่ายโดยมี costs_payment_date วันนี้เป็นวันที่ควรจะจ่าย แต่ไม่ใช่วันที่จ่ายจริงเช่นวันหมดอายุของใบแจ้งหนี้ ในสถานการณ์อื่น ๆ ฉันขายบัตรของขวัญของผู้ให้บริการบางรายเพื่อให้บริการ ฉันอาจมีค่าใช้จ่ายในการซื้อให้กับผู้ให้บริการของฉันบริการโอนไปยังลูกค้าของฉันเฉพาะในกรณีที่ลูกค้าแลกบัตร ดังนั้นบัตรของขวัญจึงมีวันหมดอายุฉันต้องการทำเช่นนั้นสำหรับ 'ค่าใช้จ่าย' โดยไม่ต้องใส่เป็นค่าใช้จ่ายสำหรับเวลาที่บัตรของขวัญนั้นถูกต้องหากบัตรของขวัญหมดอายุ 'ค่าใช้จ่าย' นั้นไม่ควรเข้าบัญชี ระบบ. ฉันรู้ว่าฉันสามารถมี 2 ตารางเท่า ๆ กันที่เรียกว่า prevision_expense และ …

1
ทำไมฉันต้องส่ง NULL ไปเป็นประเภทคอลัมน์
ฉันมีผู้ช่วยที่กำลังสร้างรหัสเพื่อทำการอัปเดตจำนวนมากสำหรับฉันและสร้าง SQL ที่มีลักษณะดังนี้: (ทั้งประเภทที่ใช้งานอยู่และเขตข้อมูลหลักเป็นประเภทboolean) UPDATE fields as t set "active" = new_values."active","core" = new_values."core" FROM (values (true,NULL,3419), (false,NULL,3420) ) as new_values("active","core","id") WHERE new_values.id = t.id; อย่างไรก็ตามมันล้มเหลวด้วย: ERROR: column "core" is of type boolean but expression is of type text ฉันสามารถทำให้มันทำงานได้โดยเพิ่ม::booleanโมฆะ แต่มันดูแปลกทำไม NULL ถึงถูกพิจารณาว่าเป็นประเภทTEXTใด นอกจากนี้ยังเป็นการยากที่จะร่ายเพราะมันต้องการการทำใหม่ของโค้ดเพื่อให้รู้ว่าควรใช้ NULL แบบใด (รายการของคอลัมน์และค่าปัจจุบันถูกสร้างอัตโนมัติจากอาร์เรย์ของวัตถุ JSON แบบง่าย ๆ …
10 postgresql  null  cast 

1
การเพิ่ม SPARSE ทำให้ตารางใหญ่ขึ้นมาก
ฉันมีตารางบันทึกทั่วไปแถวประมาณ 5 เมตร มีฟิลด์ "พิมพ์อย่างยิ่ง" ที่จัดเก็บประเภทเหตุการณ์และมีคอลัมน์ "พิมพ์จำนวนมาก" ที่ประกอบด้วยข้อมูลที่เกี่ยวข้องกับเหตุการณ์ นั่นคือความหมายของคอลัมน์ "ที่พิมพ์แบบแพ้ ๆ " นั้นขึ้นอยู่กับประเภทของเหตุการณ์ คอลัมน์เหล่านี้ถูกกำหนดเป็น: USER_CHAR1 nvarchar(150) null, USER_CHAR2 nvarchar(150) null, USER_CHAR3 nvarchar(150) null, USER_CHAR4 nvarchar(150) null, USER_CHAR5 nvarchar(150) null, USER_INTEGER1 int null, USER_INTEGER2 int null, USER_INTEGER3 int null, USER_INTEGER4 int null, USER_INTEGER5 int null, USER_FLAG1 bit null, USER_FLAG2 bit null, …

2
ฉันจะช่วย SQL Server ให้รู้ได้อย่างไรว่าคอลัมน์มุมมองที่จัดทำดัชนีของฉันไม่เป็น NULL
ฉันมีมุมมองการจัดทำดัชนีต่อไปนี้กำหนดไว้ใน SQL Server 2008 (คุณสามารถดาวน์โหลด schema การทำงานจากส่วนสำคัญสำหรับการทดสอบ): CREATE VIEW dbo.balances WITH SCHEMABINDING AS SELECT user_id , currency_id , SUM(transaction_amount) AS balance_amount , COUNT_BIG(*) AS transaction_count FROM dbo.transactions GROUP BY user_id , currency_id ; GO CREATE UNIQUE CLUSTERED INDEX UQ_balances_user_id_currency_id ON dbo.balances ( user_id , currency_id ); GO user_id, currency_idและtransaction_amountมีการกำหนดไว้ทั้งหมดเป็นคอลัมน์ในNOT NULL …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.