https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/db2/rbafzregexp_like.htm
SELECT PID FROM PRODUCT
WHERE NOT REGEXP_LIKE(pid,'[0-9]{3}-[0-9]{3}-[0-9]{2}')
但是當我運行一個類似的命令,
SELECT MYCOLUMN FROM MYTABLE
WHERE NOT REGEXP_LIKE(MYCOLUMN,'[0-9]{3}-[0-9]{3}-[0-9]{2}')
我得到
SQL狀態:42601廠商代碼:-104消息:[SQL0104]令牌 無效。有效令牌:<> = <> < =! <!> =
= || < || = IN。原因。 。 。 。 。 :在令牌處檢測到語法錯誤。令牌不是有效的 令牌。有效令牌的部分列表是<> = <> < =! <!=> = < ←= IN。此列表假定該聲明在 標記之前是正確的。該錯誤可能在聲明中較早,但該聲明的語法似乎在此之前是有效的。恢復。 。 。 : 請執行以下一項或多項操作並再次嘗試請求: - 驗證令牌區域中的SQL語句 。 更正聲明。該錯誤可能是缺少逗號或 引號,可能是拼寫錯誤的單詞,也可能與條款的順序相關 。 - 如果錯誤標記爲,更正SQL語句,因爲它不以有效子句結束。
是否有任何理由說明爲什麼這個例子不起作用? IBM v7r1與7.1不一樣嗎?
確認你正在哪個DB2版本: '選擇的getVariable( 'SYSIBM.VERSION')FROM SYSIBM.SYSDUMMY1' 或 'SELECT * FROM SYSIBMADM.ENV_INST_INFO' – Stavr00
無論這些工作=/ –
我SYSIBM .SYSDUMMY1表只有一列IBMREQD,其中一行'Y' –