2011-11-21 18 views
8

मैं इस पल के लिए sqlite3 का उपयोग कर रहा हूं, और इसलिए || ऑपरेटर का उपयोग करके concatenation स्ट्रिंग्स।MySQL के साथ तारों को जोड़ सकते हैं ||

कुछ बाद की तारीख में मैं MySQL में स्थानांतरित करना चाहता हूं, और इसलिए यह अच्छा होगा अगर कोड में कोई बदलाव नहीं किया जाना चाहिए। मैं आमतौर पर MySQL में concatenate करने के लिए concat() का उपयोग करता हूं। क्या || भी काम करता है, या क्या मुझे अपना कोड संशोधित करना होगा? या कोई अन्य समाधान है?

मैं रेलवे 3.1 पर रुबी में कोडिंग कर रहा हूं।

उत्तर

21

|| MySQL में भी काम करता है लेकिन आपको sql_modePIPES_AS_CONCAT पर सेट करने की आवश्यकता है।

Official Doc

डेमो:

mysql> select c from tmp; 
+------+ 
| c | 
+------+ 
| foo | 
| bar | 
+------+ 
2 rows in set (0.00 sec) 

mysql> select c||' hi' from tmp; 
+----------+ 
| c||' hi' | 
+----------+ 
|  0 | 
|  0 | 
+----------+ 
2 rows in set, 2 warnings (0.00 sec) 

mysql> set sql_mode=PIPES_AS_CONCAT; 
Query OK, 0 rows affected (0.00 sec) 

mysql> select c||' hi' from tmp; 
+----------+ 
| c||' hi' | 
+----------+ 
| foo hi | 
| bar hi | 
+----------+ 
2 rows in set (0.00 sec) 
+3

धन्यवाद, कि एकदम सही है! –

+0

यह 'ansi' मोड में चलते समय भी शामिल है (जो कि मैं अत्यधिक अनुशंसा करता हूं): http://dev.mysql.com/doc/refman/5.5/en/server-sql-mode.html#sqlmode_ansi –

संबंधित मुद्दे