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

Structured Query Language (SQL) เป็นภาษาสำหรับการสืบค้นฐานข้อมูล คำถามควรมีตัวอย่างรหัสโครงสร้างตารางข้อมูลตัวอย่างและแท็กสำหรับการใช้งาน DBMS (เช่น MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 และอื่น ๆ ) หากคำถามของคุณเกี่ยวข้องกับ DBMS เฉพาะ (ใช้ส่วนขยาย / คุณลักษณะเฉพาะ) ให้ใช้แท็กของ DBMS นั้นแทน คำตอบของคำถามที่ติดแท็กด้วย SQL ควรใช้ SQL มาตรฐาน ISO / IEC

5
การเปรียบเทียบวันที่ใน Oracle SQL
ฉันพยายามที่จะให้มันแสดงจำนวนพนักงานที่ได้รับการว่าจ้างหลังวันที่ 20 มิถุนายน 1994 แต่ฉันได้รับข้อผิดพลาดที่ระบุว่า "ตัวระบุที่ไม่ถูกต้อง" JUN 'โปรดช่วยด้วยขอบคุณ! Select employee_id, count(*) From Employee Where to_char(employee_date_hired, 'DD-MON-YY') > 31-DEC-95;
141 sql  oracle 

5
แบบสอบถาม SQL สำหรับวันที่วันนี้ลบสองเดือน
ฉันต้องการเลือกระเบียนทั้งหมดในตารางที่วันที่ของรายการนั้นเก่ากว่า 2 เดือน ความคิดใดที่ฉันสามารถทำได้ ฉันยังไม่ได้ลองอะไรเลย แต่ฉันมาที่จุดนี้: SELECT COUNT(1) FROM FB WHERE Dte > GETDATE()
141 sql  sql-server 

5
วิธีตรวจสอบว่ามีฟังก์ชันอยู่ในฐานข้อมูล SQL หรือไม่
ฉันต้องการตรวจสอบว่ามีฟังก์ชันอยู่ในฐานข้อมูลหรือไม่เพื่อที่ฉันจะได้ทิ้งมันและสร้างขึ้นมาใหม่ โดยพื้นฐานแล้วควรเป็นรหัสต่อไปนี้ที่ฉันใช้สำหรับขั้นตอนการจัดเก็บ: IF EXISTS ( SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[SP_TEST]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1 )

3
ตั้งค่าเส้นทางสคีมา Postgresql อย่างถาวร
ฉันจำเป็นต้องเส้นทางคีมาตั้งอยู่ใน Postgres schema2.tableเพื่อให้ฉันทำไม่ได้ทุกครั้งที่ระบุเช่นสคี กำหนดเส้นทางสคีมา: SET SCHEMA PATH a,b,c ดูเหมือนว่าจะใช้ได้กับเซสชันแบบสอบถามเดียวบน mac เท่านั้นหลังจากที่ฉันปิดหน้าต่างแบบสอบถามตัวแปรเส้นทางจะตั้งค่าตัวเองกลับเป็นค่าเริ่มต้น ฉันจะทำให้มันถาวรได้อย่างไร?
141 sql  postgresql 

18
วิธีการดีบักการสืบค้นฐานข้อมูล PDO
ก่อนที่จะย้ายไปที่ PDO ฉันสร้างแบบสอบถาม SQL ใน PHP โดยเชื่อมสตริงเข้าด้วยกัน หากฉันมีข้อผิดพลาดทางไวยากรณ์ของฐานข้อมูลฉันสามารถสะท้อนสตริงเคียวรี SQL สุดท้ายลองด้วยตัวเองบนฐานข้อมูลและปรับแต่งมันจนกว่าฉันจะแก้ไขข้อผิดพลาดจากนั้นนำกลับเข้าไปในรหัส คำสั่ง PDO ที่เตรียมไว้นั้นเร็วขึ้นและดีขึ้นและปลอดภัยขึ้น แต่สิ่งหนึ่งที่รบกวนฉัน: ฉันไม่เคยเห็นข้อความค้นหาสุดท้ายเมื่อส่งไปยังฐานข้อมูล เมื่อฉันได้รับข้อผิดพลาดเกี่ยวกับไวยากรณ์ในบันทึก Apache หรือไฟล์บันทึกที่กำหนดเอง (ฉันบันทึกข้อผิดพลาดภายในcatchบล็อก) ฉันไม่เห็นข้อความค้นหาที่ทำให้เกิดปัญหา มีวิธีจับแบบสอบถาม SQL ที่สมบูรณ์ส่งโดย PDO ไปยังฐานข้อมูลและบันทึกลงในไฟล์หรือไม่
140 php  sql  pdo 

10
วิธีรันไฟล์สคริปต์. SQL โดยใช้ c #
ฉันแน่ใจว่าคำถามนี้ได้รับคำตอบแล้ว แต่ฉันไม่สามารถหาคำตอบได้โดยใช้เครื่องมือค้นหา ใช้ c # ฉันต้องการเรียกใช้ไฟล์. sql ไฟล์ sql มีหลายคำสั่ง sql ซึ่งบางส่วนจะถูกแบ่งเป็นหลายบรรทัด ฉันลองอ่านไฟล์และลองใช้งานไฟล์โดยใช้ ODP.NET ... แต่ฉันไม่คิดว่า ExecuteNonQuery ได้รับการออกแบบมาให้ทำเช่นนี้จริงๆ ดังนั้นฉันจึงลองใช้ sqlplus ผ่านกระบวนการวางไข่ ... อย่างไรก็ตามถ้าฉันวางไข่กระบวนการด้วย UseShellExecute ที่ตั้งค่าเป็น sqlplus จริงจะหยุดและไม่เคยออก นี่คือรหัสที่ไม่ทำงาน Process p = new Process(); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.FileName = "sqlplus"; p.StartInfo.Arguments = string.Format("xx/xx@{0} @{1}", in_database, s); p.StartInfo.CreateNoWindow = …
140 c#  sql  oracle  scripting 

10
รับบันทึกสูงสุด n รายการสำหรับผลลัพธ์แต่ละกลุ่ม
ต่อไปนี้เป็นตัวอย่างที่ง่ายที่สุดที่เป็นไปได้แม้ว่าวิธีการแก้ปัญหาใด ๆ ควรจะสามารถปรับให้ได้ตามต้องการ แต่จะต้องใช้ผลลัพธ์ที่มีจำนวนมากที่สุด n: จากตารางด้านล่างด้วยคอลัมน์บุคคลกลุ่มและอายุคุณจะได้ 2 คนที่เก่าแก่ที่สุดในแต่ละกลุ่มอย่างไร (ความสัมพันธ์ภายในกลุ่มไม่ควรให้ผลลัพธ์มากขึ้น แต่ให้ 2 อันดับแรกตามลำดับตัวอักษร) + -------- + ------- + ----- + | คน | กลุ่ม | อายุ | + -------- + ------- + ----- + | Bob | 1 | 32 | | จิล 1 | 34 | | ชอว์น 1 | …

3
ฉันจะรับ MIN () ของสองฟิลด์ใน Postgres ได้อย่างไร
สมมติว่าฉันมีโต๊ะแบบนี้: name | score_a | score_b -----+---------+-------- Joe | 100 | 24 Sam | 96 | 438 Bob | 76 | 101 ... | ... | ... ฉันต้องการเลือกขั้นต่ำของ score_a และ score_b กล่าวอีกนัยหนึ่งดังนี้: SELECT name, MIN(score_a, score_b) FROM table แน่นอนผลลัพธ์จะเป็น: name | min -----+----- Joe | 24 Sam | 96 Bob …
140 sql  postgresql  min 

10
แปลงข้อความเป็นตัวเลขในแบบสอบถาม MySQL
สามารถแปลงข้อความเป็นตัวเลขภายในแบบสอบถาม MySQL ได้หรือไม่? ฉันมีคอลัมน์ที่มีตัวระบุซึ่งประกอบด้วยชื่อและตัวเลขในรูปแบบ "ชื่อ - หมายเลข" คอลัมน์นี้มีประเภท VARCHAR ฉันต้องการจัดเรียงแถวตามหมายเลข (แถวที่มีชื่อเดียวกัน) แต่คอลัมน์จะเรียงตามลำดับอักขระเช่น name-1 name-11 name-12 name-2 หากฉันตัดตัวเลขฉันสามารถแปลงหมายเลข 'varchar' เป็นจำนวน 'จริง' และใช้เพื่อจัดเรียงแถวได้หรือไม่ ฉันต้องการรับคำสั่งต่อไปนี้ name-1 name-2 name-11 name-12 ฉันไม่สามารถแสดงตัวเลขเป็นคอลัมน์แยกต่างหาก แก้ไขเมื่อ 2011-05-11 9:32 ฉันพบวิธีแก้ไขต่อไปนี้... ORDER BY column * 1แล้ว หากชื่อไม่มีตัวเลขจะถูกบันทึกเพื่อใช้โซลูชันนั้นหรือไม่?
140 mysql  sql 

2
การเรียกซ้ำสูงสุด 100 หมดลงก่อนที่คำสั่งจะเสร็จสมบูรณ์
ฉันได้รับmax recursion errorคำถามนี้เรื่อย ๆ ตอนแรกฉันคิดว่าเป็นเพราะมีการส่งคืนค่าว่างจากนั้นมันจะพยายามจับคู่ค่าว่างทำให้เกิดข้อผิดพลาดอย่างไรก็ตามฉันเขียนแบบสอบถามของฉันใหม่เพื่อไม่ให้ค่าว่างกลับมาและข้อผิดพลาดยังคงเกิดขึ้น อะไรคือวิธีที่ดีที่สุดในการเขียนฟังก์ชันนี้ใหม่เพื่อไม่ให้เกิดข้อผิดพลาด WITH EmployeeTree AS ( SELECT EMP_SRC_ID_NR Id, USR_ACV_DIR_ID_TE Uuid, CASE Employees.APV_MGR_EMP_ID WHEN Null THEN '0' ELSE Employees.APV_MGR_EMP_ID END as ApprovalManagerId FROM dbo.[tEmployees] as Employees WITH (NOLOCK) WHERE APV_MGR_EMP_ID = @Id and Employees.APV_MGR_EMP_ID is not null and Employees.EMP_SRC_ID_NR is not null UNION ALL SELECT EMP_SRC_ID_NR …

11
ความยาวที่เหมาะสมสำหรับช่อง "ชื่อ" ของบุคคลคืออะไร
ฉันมีเว็บฟอร์มง่ายๆที่จะอนุญาตให้ผู้ใช้ที่ไม่ผ่านการตรวจสอบสิทธิ์ป้อนข้อมูลรวมถึงชื่อ ฉันให้ฟิลด์ชื่อ จำกัด อักขระ 50 ตัวเพื่อให้ตรงกับตารางฐานข้อมูลของฉันซึ่งฟิลด์นั้นคือ varchar (50) แต่ฉันก็เริ่มสงสัย การใช้บางอย่างเช่นประเภทคอลัมน์ข้อความเหมาะสมกว่าหรือไม่หรือฉันควรจำกัดความยาวของชื่อให้สมเหตุสมผล ฉันใช้ SQL Server 2005 ในกรณีที่มีความสำคัญในการตอบกลับของคุณ แก้ไข:ฉันไม่เห็นคำถามที่กว้างขึ้นเกี่ยวกับปัญหาที่คล้ายกันนี้
140 sql  html  textbox 

3
เลือกเข้าโดยใช้ Oracle
ฉันกำลังพยายามทำการ SELECT INTO โดยใช้ Oracle คำถามของฉันคือ: SELECT * INTO new_table FROM old_table; แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: SQL Error: ORA-00905: missing keyword 00905. 00000 - "missing keyword" มีความคิดอะไรผิด? พฤติกรรมมาตรฐานข้างต้นควรเป็นไปตามที่ฉันคิดไว้ แต่แรก: อย่างไรก็ตาม Oracle ใช้มันแตกต่างกันโดยสิ้นเชิงในภาษาถิ่นของพวกเขาเองของ SQL Oracle Docs on Insert ... เลือก
140 sql  oracle  ora-00905 

6
Full Text Search vs LIKE คืออะไร
ฉันเพิ่งอ่านโพสต์ที่กล่าวถึง "การค้นหาข้อความแบบเต็ม" ใน SQL ฉันแค่สงสัยว่าความแตกต่างระหว่าง FTS และ LIKE คืออะไร ฉันอ่านบทความสองสามบทความ แต่ไม่พบสิ่งใดที่อธิบายได้ดี

4
เลือกและอัปเดตเรกคอร์ดฐานข้อมูลด้วยแบบสอบถามเดียว
ฉันจะเรียกใช้คำสั่งupdateและselectคำสั่งเดียวกันได้อย่างไรquerysetแทนที่จะต้องทำสองแบบสอบถาม: - หนึ่งเพื่อเลือกวัตถุ - และหนึ่งเพื่ออัปเดตวัตถุ สิ่งที่เทียบเท่าใน SQL จะเป็นดังนี้: update my_table set field_1 = 'some value' where pk_field = some_value


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