1、創(chuàng)建新的測試數(shù)據(jù)表,或者可以選擇要測試的現(xiàn)有表數(shù)據(jù)。這只是測試字符串連接,不會影響數(shù)據(jù)內(nèi)容。從T_BASE_PROVINCE t中選擇*,其中t.id = 1。
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站建設、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的澧縣網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
2、首先介紹下一個||滿足連接,||可以一次連接多個字符串,選擇t.PROVINCEID ||來自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。
3、由||連接除了字段和字段之間的字符串連接之外,還可以將方法連接到常量字符串選擇'?。?||來自T_BASE_PROVINCE的t.PROVINCE t其中t.id = 1。
4、您還可以使用CONCAT函數(shù)連接到字符串,傳入函數(shù)字符串1和字符串2,兩個參數(shù)。參數(shù)的方式也支持常量字符串從T_BASE_PROVINCE t中選擇CONCAT(t.PROVINCEID,t.PROVINCE),其中t.id = 1。
5、如果要連接的字符串有兩個以上的參數(shù),如下例所示,則有4個字符串連接。運行后,測試發(fā)現(xiàn)異常,參數(shù)無效。從T_BASE_PROVINCE t中選擇CONCAT('省ID:',t.PROVINCEID,'?。?,t.PROVINCE),其中t.id = 1; -? ERROR ORA-00909:參數(shù)數(shù)量無效。
6、對于上述問題,如果連接參數(shù)大于2,則可以選擇CONCAT嵌套方法。從T_BASE_PROVINCE t中選擇CONCAT(CONCAT('省ID:',t.PROVINCEID),'?。?),t.PROVINCE),其中t.id = 1。
可以使用INSERT語句,在VALUES中使用NULL或者忽略想插入空值的列。
要注意,想插入空值的列,必須是可空列,或者是非主鍵列。
例子:
insert into test(no,ame,score) values(1,'yaoming',NULL);
可以通過replace函數(shù)來獲取特定字符串后,進行字段更新實現(xiàn): sql:update tablename set name=replace(name,'替換前字段','替換后字段') where name like '%替換前字段%'。 上面的sql語句的意思是替換tablename中name字段的“替換前字段“為”替換...
我們在SQL*PLUS下執(zhí)行 SQL show all命令時,可以發(fā)現(xiàn)一個參數(shù):define (hex 26),如下所示 concat . (hex 2e) copycommit 0 copytypecheck ON define (hex 26) describe DEPTH 1 LINENUM OFF INDENT OFFecho OFF 這個是Oracle里面用來識別自定義變量的設置,現(xiàn)在我們在SQL*PLUS下將其關閉: SQL Set define OFF; 然后再次執(zhí)行導入腳本,OK!問題搞定。 注意:如果是在TOAD中執(zhí)行,建議在每一個要導入的腳本第一行加上前面那句關閉define的話,否則當你導入第二個含有特殊字符的腳本的時候,又會出錯。 如果是在SQL*PLUS中執(zhí)行,則只需要設置一次define OFF,后面就可以連續(xù)導入了。直到你重新設置define ON為止。 ·方法二:在SQL語句中將''替換成chr(38),因為chr(38)是‘’的ASCII碼 SQL Select 'Tom' || chr(38) || 'Jerry' from dual; ·方法三:分拆原來的字符串 SQL Select 'Tom' || '' || 'Jerry' from dual; 我們可以看到,方法一最為簡便,而且效率也最高。方法二因為有一個調(diào)用函數(shù)的過程,所以性能稍差。方法三需要兩次連接字符串,效率最差! ·方法一:使用轉(zhuǎn)義字符 SQL Select 'test' || '''' from dual; 第三個'才是我們真正的內(nèi)容 ·方法二:同樣是使用轉(zhuǎn)義字符,只不過方式不同而已 SQL Select 'test ''' from dual; 注意:這里的第二個,第三個'就是我們上面方法一中提到的轉(zhuǎn)義符和真正的內(nèi)容
SELECT Q'{ --""I'am }' FROM dual;
大括號中間的內(nèi)容隨便寫 ,任何符號都可以,包括注釋符號--
SELECT 'A'||CHR(39)||'B' FROM dual;
CHR(39)就是特殊符號'
方法一:在SQL語句中將''替換成chr(38),因為chr(38)是‘’的ASCII碼
SQL Select 'Tom' || chr(38) || 'Jerry' from dual;
方法二:分拆原來的字符串
SQL Select 'Tom' || '' || 'Jerry' from dual;
備注:如果是在命令行執(zhí)行,可以設置 ”Set define OFF“,之后在正常執(zhí)行sql語句即可。