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

Microsoft SQL Server เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ใช้แท็กนี้สำหรับ SQL Server ทุกรุ่นรวมถึง Compact, Express, Azure, Fast-track, APS (เดิมคือ PDW) และ Azure SQL DW อย่าใช้แท็กนี้สำหรับ DBMS ประเภทอื่น (MySQL, PostgreSQL, Oracle, ฯลฯ ) อย่าใช้แท็กนี้สำหรับปัญหาเกี่ยวกับซอฟต์แวร์และการพัฒนาอุปกรณ์พกพาเว้นแต่จะเกี่ยวข้องโดยตรงกับฐานข้อมูล

6
การคำนวณระยะทางระหว่างสองจุด (ละติจูดลองจิจูด)
ฉันกำลังพยายามคำนวณระยะห่างระหว่างสองตำแหน่งบนแผนที่ ฉันเก็บไว้ในข้อมูลของฉัน: Longitude, Latitude, X POS, Y POS ฉันเคยใช้ตัวอย่างข้อมูลด้านล่างนี้มาก่อน DECLARE @orig_lat DECIMAL DECLARE @orig_lng DECIMAL SET @orig_lat=53.381538 set @orig_lng=-1.463526 SELECT *, 3956 * 2 * ASIN( SQRT( POWER(SIN((@orig_lat - abs(dest.Latitude)) * pi()/180 / 2), 2) + COS(@orig_lng * pi()/180 ) * COS(abs(dest.Latitude) * pi()/180) * POWER(SIN((@orig_lng - dest.Longitude) * pi()/180 …

5
ฉันจะ 'ค้นหาและแทนที่' แบบง่ายๆใน MsSQL ได้อย่างไร?
คำถามค่อนข้างอธิบายตัวเองได้ ฉันต้องการค้นหาและแทนที่ง่ายๆเช่นเดียวกับที่คุณทำในโปรแกรมแก้ไขข้อความบนข้อมูลในคอลัมน์ของฐานข้อมูลของฉัน (ซึ่งก็คือ MsSQL บนเซิร์ฟเวอร์ MS Windows 2003)
89 sql  sql-server 

17
วิธีอ่านแถวสุดท้ายด้วย SQL Server
วิธีใดที่มีประสิทธิภาพที่สุดในการอ่านแถวสุดท้ายด้วย SQL Server ตารางจะจัดทำดัชนีด้วยคีย์ที่ไม่ซ้ำกัน - ค่าคีย์ "ด้านล่าง" แสดงถึงแถวสุดท้าย
89 sql  sql-server 

4
จะสอบถามค่า Xml และแอตทริบิวต์จากตารางใน SQL Server ได้อย่างไร
ฉันมีตารางที่ประกอบด้วยXmlคอลัมน์: SELECT * FROM Sqm ตัวอย่างxmlข้อมูลของแถวจะเป็น: <Sqm version="1.2"> <Metrics> <Metric id="TransactionCleanupThread.RecordUsedTransactionShift" type="timer" unit="µs" count="1" sum="21490" average="21490" minValue="73701" maxValue="73701" >73701</Metric> <Metric id="TransactionCleanupThread.RefundOldTrans" type="timer" unit="µs" count="1" sum="184487" average="184487" minValue="632704" maxValue="632704" >632704</Metric> <Metric id="Database.CreateConnection_SaveContextUserGUID" type="timer" unit="µs" count="2" sum="7562" average="3781" minValue="12928" maxValue="13006" standardDeviation="16" >12967</Metric> <Metric id="Global.CurrentUser" type="timer" unit="µs" count="6" sum="4022464" average="670411" minValue="15" maxValue="13794345" standardDeviation="1642047">2299194</Metric> …



4
ใช้คำสั่ง LIKE บน SQL Server XML Datatype
หากคุณมีฟิลด์ varchar คุณสามารถทำได้อย่างง่ายดายSELECT * FROM TABLE WHERE ColumnA LIKE '%Test%'เพื่อดูว่าคอลัมน์นั้นมีสตริงที่แน่นอนหรือไม่ คุณทำสิ่งนั้นสำหรับประเภท XML ได้อย่างไร? ฉันมีสิ่งต่อไปนี้ซึ่งส่งคืนเฉพาะแถวที่มีโหนด 'ข้อความ' แต่ฉันต้องการค้นหาภายในโหนดนั้น select * from WebPageContent where data.exist('/PageContent/Text') = 1

12
ฟังก์ชั่นเทียบกับขั้นตอนที่เก็บไว้
สมมติว่าฉันต้องใช้โค้ด T-SQL ที่ต้องส่งคืนตารางเป็นผลลัพธ์ ฉันสามารถใช้ฟังก์ชันค่าตารางหรืออื่น ๆ กระบวนงานที่เก็บไว้ที่ส่งคืนชุดของแถว ฉันควรใช้อะไร? ในระยะสั้นสิ่งที่ฉันอยากรู้คือ: ข้อแตกต่างหลักระหว่างฟังก์ชันและกระบวนงานที่จัดเก็บคืออะไร ฉันต้องคำนึงถึงอะไรบ้างในการใช้อย่างใดอย่างหนึ่ง

5
วิธีการส่งออกข้อมูลจาก SQL Server 2005 ไปยัง MySQL [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน8 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันหัวเสียกับการSQL Server 2005พยายามดึงข้อมูลจำนวนมากออกมา ฉันได้รับฐานข้อมูลที่มีตารางเกือบ 300 ตารางและฉันจำเป็นต้องเปลี่ยนเป็นฐานข้อมูล MySQL การโทรครั้งแรกของฉันคือการใช้ bcp แต่น่าเสียดายที่มันไม่สร้าง CSV ที่ถูกต้อง - สตริงไม่ได้ถูกห่อหุ้มดังนั้นคุณจึงไม่สามารถจัดการกับแถวใด ๆ ที่มีสตริงที่มีลูกน้ำอยู่ (หรืออะไรก็ตามที่คุณใช้เป็นตัวคั่น) และฉันยังคงต้องเขียนคำสั่งสร้างตารางทั้งหมดด้วยมือเนื่องจาก CSV ไม่ได้บอกอะไรคุณเกี่ยวกับประเภทข้อมูล สิ่งที่จะดีกว่าคือถ้ามีเครื่องมือบางอย่างที่สามารถเชื่อมต่อกับทั้ง SQL Server และ MySQL จากนั้นทำการคัดลอก คุณสูญเสียมุมมองกระบวนงานที่จัดเก็บทริกเกอร์ ฯลฯ แต่การคัดลอกตารางที่ใช้เฉพาะประเภทฐานจากฐานข้อมูลหนึ่งไปยังอีกฐานหนึ่งไม่ยาก ... ใช่หรือไม่ มีใครรู้จักเครื่องมือดังกล่าวบ้าง? ฉันไม่สนใจว่ามันสร้างขึ้นได้กี่ข้อหรือการทำให้เข้าใจง่ายเกิดขึ้นตราบใดที่มันรองรับจำนวนเต็มจำนวนลอยวันที่เวลาและสตริง ฉันต้องทำการตัดแต่งจำนวนมากทำให้เป็นปกติและอื่น ๆ ดังนั้นฉันจึงไม่สนใจที่จะรักษาคีย์ความสัมพันธ์หรืออะไรทำนองนั้น แต่ฉันต้องการชุดข้อมูลเริ่มต้นอย่างรวดเร็ว!

2
เลือกใน mysql
ฉันเป็นผู้ใช้ MSSQL และตอนนี้ฉันกำลังแปลงฐานข้อมูลเป็น MySQL ฉันกำลังเขียนข้อความค้นหาต่อไปนี้ใน MySQL: select * into new_tbl from tbl และฉันได้รับข้อผิดพลาดต่อไปนี้ Error : Undeclared variable new_tbl คำถามดังกล่าวควรเขียนใน MySQL อย่างถูกต้องอย่างไร
88 mysql  sql  sql-server 

5
MS SQL เปรียบเทียบวันที่?
ฉันมี 2 วันที่ (วันที่): date1 = 2010-12-31 15: 13: 48.593 date2 = 2010-12-31 00: 00: 00.000 มันเป็นวันเดียวกันเวลาต่างกัน การเปรียบเทียบ date1 และ date2 โดยใช้ <= ไม่ได้ผลเนื่องจากเวลา date1 ดังนั้น date1 <= date2 จึงผิด แต่ควรเป็นจริง ฉันสามารถเปรียบเทียบโดยดูที่ปีเดือนและวันเพื่อให้เหมือนกันได้หรือไม่? SQL Server 2008 ขอบคุณ :)

4
เหตุใด Sql Server จึงยังคงทำงานหลังจาก raiserror เมื่อ xact_abort เปิดอยู่
ฉันรู้สึกประหลาดใจกับบางสิ่งใน TSQL ฉันคิดว่าถ้าเปิด xact_abort จะเรียกอะไรแบบนี้ raiserror('Something bad happened', 16, 1); จะหยุดการดำเนินการของกระบวนงานที่เก็บไว้ (หรือชุดใด ๆ ) แต่ข้อความแสดงข้อผิดพลาด ADO.NET ของฉันพิสูจน์แล้วว่าตรงกันข้าม ฉันได้รับทั้งข้อความแสดงข้อผิดพลาด raiserror ในข้อความข้อยกเว้นรวมถึงสิ่งถัดไปที่พังหลังจากนั้น นี่เป็นวิธีแก้ปัญหาของฉัน (ซึ่งก็เป็นนิสัยของฉันอยู่ดี) แต่ดูเหมือนว่ามันจะไม่จำเป็น: if @somethingBadHappened begin; raiserror('Something bad happened', 16, 1); return; end; เอกสารกล่าวว่า: เมื่อ SET XACT_ABORT เปิดอยู่หากคำสั่ง Transact-SQL ทำให้เกิดข้อผิดพลาดขณะทำงานธุรกรรมทั้งหมดจะถูกยกเลิกและย้อนกลับ หมายความว่าฉันต้องใช้ธุรกรรมที่โจ่งแจ้งหรือไม่?
88 sql  sql-server  tsql 

6
ลำดับและเอกลักษณ์
SQL Server 2012 เปิดตัวSequenceเป็นคุณลักษณะใหม่เช่นเดียวกับใน Oracle และ Postgres ลำดับไหนเป็นที่ต้องการมากกว่าอัตลักษณ์? และทำไมเราต้องมีลำดับ?

2
SQL Server IIF เทียบกับ CASE
ฉันเพิ่งทราบเกี่ยวกับความพร้อมใช้งานของIIFฟังก์ชันใน SQL Server 2012 ฉันมักจะใช้แบบซ้อนCASEในแบบสอบถามของฉัน ฉันต้องการทราบจุดประสงค์ที่แน่นอนของIIFคำสั่งและเมื่อใดที่เราควรใช้IIFมากกว่าCASEคำสั่งในแบบสอบถาม ส่วนใหญ่ฉันใช้แบบซ้อนCASEในแบบสอบถามของฉัน ขอบคุณสำหรับข้อมูลทั้งหมด

4
การใช้งาน SQL Server 2005 ของ MySQL REPLACE INTO?
MySQL มีREPLACE INTOคำสั่ง SQL ที่มีประโยชน์อย่างเหลือเชื่อ แต่เป็นกรรมสิทธิ์ สิ่งนี้สามารถจำลองได้อย่างง่ายดายใน SQL Server 2005 หรือไม่? การเริ่มต้นธุรกรรมใหม่การทำSelect()และหลังจากนั้นอย่างใดอย่างหนึ่งUPDATEหรือINSERTและCOMMITมักจะเจ็บปวดเล็กน้อยโดยเฉพาะอย่างยิ่งเมื่อทำในแอปพลิเคชันดังนั้นจึงต้องเก็บคำสั่ง 2 เวอร์ชันไว้เสมอ ฉันสงสัยว่ามีวิธีที่ง่ายและเป็นสากลในการนำฟังก์ชันดังกล่าวไปใช้ใน SQL Server 2005 หรือไม่?

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