第一篇文章/問題在這裏。我試圖在PHP訪問標量值函數使用以下查詢:MSSQL標量值函數+ PHP
select *, dbo.fnFunctionName_asArray(AnID,';') as refRes FROM ResourceDB where UniqueID = 'IDgoesHere'
此查詢運行的MS SQL Server Management Studio中完全正常,但試圖通過運行PHP的查詢,我得到一個可怕的錯誤時。
這裏是PHP代碼本身:
$sql_r = "select *, dbo.fnFunctionName_asArray(AnID,';') as refRes FROM ResourceDB where UniqueID = 'IDgoesHere'";
$r_r = mssql_query($sql_r, $msdbc);
和誤差如下:
警告:mssql_query()[function.mssql-查詢]:消息:選擇失敗因爲 以下SET選項的設置不正確: 'CONCAT_NULL_YIELDS_NULL,ANSI_WARNINGS,ANSI_PADDING'。驗證用於索引視圖和/或 計算列和/或過濾索引和/或查詢通知 和/或XML數據類型方法和/或空間索引操作的索引的SET選項是否正確。 (嚴重性16)
我已經搜索了很多,並且發現了有關存儲過程的信息,但沒有找到MSSQL中的函數。我不知道如何解釋錯誤信息。
在此先感謝。
看起來您正在函數中進行字符串連接,並且某些列具有NULL值,請將COALESCE與CONCAT結合使用。 – Chandu
你有沒有考慮過使用存儲過程?然後,您可以對會話設置(如ANSI_WARNINGS等)進行更多控制。 –