0
有些人可以用新的用戶定義函數複製CHARINDEX。 (使用instr)用mysql中的新用戶定義函數複製CHARINDEX
IF(CHARINDEX('(G)',v_username) = 0) THEN
mysql版本。如果可以保持相同的功能,我的移植將變得更加順暢。
IF(INSTR(v_username,'(G)') = 0) THEN
有些人可以用新的用戶定義函數複製CHARINDEX。 (使用instr)用mysql中的新用戶定義函數複製CHARINDEX
IF(CHARINDEX('(G)',v_username) = 0) THEN
mysql版本。如果可以保持相同的功能,我的移植將變得更加順暢。
IF(INSTR(v_username,'(G)') = 0) THEN
是的,這可以做到。一種方法是創建包裝CharIndex的user-defined function。
-- CHARINDEX wrapper.
CREATE FUNCTION INSTR
(
@Source NVARCHAR(255), -- Search this..
@Find NVARCHAR(255) -- ...for this.
)
RETURNS NVARCHAR(255)
AS
BEGIN
RETURN CHARINDEX(@Find, @Source)
END
該方法的缺點是UDF無法在性能方面與原生函數進行競爭。
您可以通過查看common language runtime來降低影響。 CLR允許你編寫編譯爲本地代碼的函數,SP等。
所有的事情都考慮到了;我會建議你更新你的代碼。雖然他們可能會很漫長而痛苦,但遷移是一項一次性任務。