स्ट्रिंग कॉन्सेप्टेशन SQLite में काम नहीं करता है


136

मैं एक SQlite रिप्लेस फ़ंक्शन को निष्पादित करने की कोशिश कर रहा हूं, लेकिन फ़ंक्शन में किसी अन्य फ़ील्ड का उपयोग करें।

select  locationname + '<p>' from location;

इस स्निप में, परिणाम 0s की एक सूची है। मुझे '<p>'स्थाननाम और शाब्दिक पाठ से स्ट्रिंग की उम्मीद होगी ।

जवाबों:


266

के ||स्थान पर उपयोग करने का प्रयास करें+

select  locationname || '<p>' from location;

से SQLite प्रलेखन :

|| ऑपरेटर "कॉन्टेनेट" है - यह अपने ऑपरेंड के दो तारों को एक साथ जोड़ता है।


26
फ़ील्ड 1 || यदि फ़ील्ड में से कोई एक रिक्त है, तो फ़ील्ड 2 शून्य देता है। एक ifnull (फ़ील्ड 1, '') करना चाह सकता है || ifnull (फ़ील्ड 2, '')। यदि आपको एक या दोनों फ़ील्ड शून्य हैं, तो आपको एक प्रतिक्रिया मिलेगी। फिर आप यह पता लगाने के लिए कि आप क्या करना चाहते हैं अगर दोनों अशक्त थे।
टॉम सेरूल

5
@TomCerul या उपयोगCOALESCE(nullable_field, '') || COALESCE(another_nullable_field, '')
zx8754

38

||ऑपरेटर SQLite में संयोजन है। इस कोड का उपयोग करें:

select  locationname || '<p>' from location;

11
डबल पाइप भी स्ट्रिंग को समेटने की ANSI विधि है, जो Oracle और PostgreSQL पर भी समर्थित है ...
OMG Ponies

32

तुलना के लिए,

SQLite ||  
Oracle CONCAT (string1, string2) या ||
MySQL CONCAT (string1, string2, string3 ...) या || यदि PIPES_AS_CONCAT सक्षम है
CONCAT (string1, string2, string3 ...) या ||
Microsoft SQL सर्वर 2012+ CONCAT (string1, string2, string3 ...) या + 
माइक्रोसॉफ्ट एक्सेस +  

1
2012 में शुरू, SQL सर्वर भी समर्थन करता हैCONCAT(string1, string2, string3...)
टिम कुक

1
||यदि PIPES_AS_CONCATमोड सक्षम है तो MySQL भी समर्थन करता है।
पॉल स्पीगल

2

Visual Studio 2010 के लिए, डेटा स्रोत डिज़ाइनर या विज़ार्ड का उपयोग करके, आप उपयोग करने में समस्या में हैं || ऑपरेटर। Sqlite db में एक दृश्य बनाएं और उसी से अपना डेटा स्रोत बनाएं।

इस धागे को भी देखें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.