एसक्यूएल सर्वर बराबर करने के लिए ओरेकल जिज्ञासा को परिवर्तित करने में मदद करें:एसक्यूएल सर्वर के बराबर है और स्तर pseudocolumn
SELECT (LEVEL+1-1) AS lvl
FROM dual
CONNECT BY LEVEL <= 10
/
उत्पादन संख्या है 1 से 10 के:
LVL
----
1
2
3
...
10
मुझे पता है एसक्यूएल सर्वर में पदानुक्रम विधियों और GetLevel
और अधिक जैसे अंतर्निर्मित। क्या इसका उपयोग एक ही परिणाम प्राप्त करने के लिए किया जा सकता है?
दोहरी तालिका बनाने के लिए यदि आवश्यक हो तो (यकीन नहीं) - यहां से नकल: http://blog.sqlauthority.com/2010/07/20/sql-server-select-from-dual-dual-equivalent/
CREATE TABLE DUAL
(
DUMMY VARCHAR(1)
)
GO
INSERT INTO DUAL (DUMMY)
VALUES ('X')
GO
विशेष रूप से है कि जाने हैं उपयोग ख़ाली उदाहरण के लिए देख रहा। प्रश्नों में स्तर की तरह। उदाहरण के लिए: तालिका में केवल एक प्रारंभ तिथि है - 4/22/2013। लेकिन स्तर के साथ मैं इसे निम्नानुसार बढ़ाने में सक्षम हूं:
SELECT start_date, start_date+LEVEL-1 AS start_date_btwn
FROM my_tab
WHERE id = 1
CONNECT BY LEVEL<=10
/
START_DATE START_DATE_BTWN
------------------------------
4/22/2013 4/22/2013
4/22/2013 4/23/2013
4/22/2013 4/24/2013
4/22/2013 4/25/2013
......
4/22/2013 4/30/2013
सभी को पहले से बहुत बहुत धन्यवाद।
वहाँ जो नंबर आप की जरूरत है की एक अधिकतम संख्या निर्धारित है? – sgeddes
@sgeddes - नहीं, ओरेकल में मेरे उदाहरण में 10 की बजाय कोई संख्या हो सकती है। मैंने सादगी के लिए 10 में अपना उदाहरण सीमित कर दिया। धन्यवाद। – Art
@ मार्टिन - धन्यवाद। इससे मदद मिली। – Art