我有一個Students
表,其中包含7個地址字段。顯示包含回車符的列
我需要爲學生每行顯示,其中地址字段有回車符,如果有的話。
在此之後它感到困惑。
的第九列(第一列 - 學生ID,2-8列 - 7地址字段)必須包含其中有一個回車符(如ADDR_1列名的列表,addr_3 ,1爲用逗號分隔每個學生ID)
的第十列必須包含非法字符(在這種情況下,回車)。
此代碼必須進一步擴展到其他現在確定的非法字符,並且必須生成報告。
我無法在第9和第10列上工作。誰能幫忙?
SELECT pty.id,
a.addr_1,
a.addr_2,
a.addr_3,
a.addr_4,
a.addr_5,
a.addr_6,
a.addr_7
FROM addr a
inner join contact cON a.idf = c.add_idf
inner join pty ON c.pty_id = pty.id
WHERE
INSTR(a.addr_1,CHR(13)) > 0 OR
INSTR(a.addr_2,CHR(13)) > 0 OR
INSTR(a.addr_3,CHR(13)) > 0 OR
INSTR(a.addr_4,CHR(13)) > 0 OR
INSTR(a.addr_5,CHR(13)) > 0 OR
INSTR(a.addr_6,CHR(13)) > 0 OR
INSTR(a.addr_7,CHR(13)) > 0;
這功課嗎? –
讓我猜猜,一個前端應用程序扼殺非打印字符,所以答案是「修復數據」。您將不斷重新將這些字符引入數據,修復應用層 – tbone
您可以使用REPLACE f-n將CHR(13)替換爲查詢中的任何其他字符。雖然它應該像下面這樣工作:SELECT INSTR('1'|| chr(13)||'2',chr(13))str FROM dual – Art