問題:
博主看到項目腳本,有些地方使用了format函數來把當前日期轉換成yyyyMMddHHmmssffff的格式,但在測試環境數據庫是sql 2008 r2,是不支持format這個函數的。腳本會報錯:
- 'format' 不是可以識別的 內置函數名稱。
- 'format' is not a recognized built-in function name.
解決方案:
由於低版本的SQL不支持format,例如sql 2008\2005\2000,需要使用其他方法來代替。
博主經過試驗,使用了convert函數和replace函數相結合的方式,實現了適配兼容低版本SQL。
腳本:
/* 作者:zhang502219048 腳本來源:https://www.cnblogs.com/zhang502219048/p/11225240.html */ /* sql 2008 / sql 2005 / sql 2000不支持format函數,執行腳本會報錯: 'format' 不是可以識別的 內置函數名稱。 'format' is not a recognized built-in function name. */ select format(getdate(),'yyyyMMddHHmmssffff') --改成適配兼容舊版本sql的寫法 select replace(replace(replace(replace(convert(varchar,getdate(),25),'-',''),' ',''),':',''),'.','') + '0'
腳本運行結果:
總結:
博主在這里就為大家分享了自己在工作過程中所編寫的兼容舊版本SQL生成yyyyMMddHHmmssffff格式時間字符串的方法,如果你也需要可以直接拿來主義應用到實際工作中而不用進行重復構思編程。【轉載請注明博文來源:https://www.cnblogs.com/zhang502219048/p/11225240.html】