是否有任何用户定义/自定义的 FORMAT 和 TRY_CAST?

Posted

技术标签:

【中文标题】是否有任何用户定义/自定义的 FORMAT 和 TRY_CAST?【英文标题】:Is there any user defined / customized FORMAT and TRY_CAST? 【发布时间】:2019-05-18 19:34:06 【问题描述】:

我正在使用 SQL 存储过程。低于 FORMAT 和 TRY_CAST 得到这个错误。

'TRY_CAST' 不是可识别的内置函数名称。

SELECT FORMAT(TRY_CAST(MYDATE AS INT),'00/00/0000')

所以我想使用用户定义的 FORMAT 和 TRY_CAST 函数。但是对这些功能一无所知。是否有任何现有的用户定义函数而不是 FORMAT 和 TRY_CAST。

编辑(来自评论):

我正在使用“Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 版权所有 (c) Microsoft Corporation Developer Edition (64-bit) o​​n Windows NT 6.2 (Build 9200) : ) (Hypervisor) ' 这个版本。我想将 'ddmmyyyy' 格式转换为 'dd/mm/yyyy' 这个。我可以只使用字符串操作来完成。但我想要一些像样的代码。所以我试试这个 FORMAT 和 TRY_CAST。

【问题讨论】:

您使用的是什么版本的 SQL Server?您期望将日期作为 int 得到什么?样本数据和期望的结果可能是更好的问题格式。 Docs: “适用于:SQL Server(从 2012 年开始)”。你可能在2012年之前?您为什么要询问这些功能的用户定义变体?你试过什么? 检查print @@version的输出,很可能它会告诉你你的SQL Server早于2012年。 请停止对零研究问题的同情。 警告 - 没有人应该在这么晚的日期使用 2008 RTM。这是危险的过时和不受支持的。 【参考方案1】:

如果要将“ddmmyyyy格式转换为dd/mm/yyyy”,只需使用字符串函数即可:

select stuff(stuff(my_date, 5, '/'), 3, '/')

SQL Server 2008 不支持您要使用的函数。

【讨论】:

感谢 Gordon,它很漂亮而且很漂亮。为了避免语法错误,我几乎没有做任何更正。【参考方案2】:

是否存在任何现有的用户定义函数而不是 FORMAT 和 TRY_CAST。

不,根据定义,您的 SQL Server 上没有现有的用户定义函数,直到您创建它们。这就是“用户定义”位的含义。

【讨论】:

以上是关于是否有任何用户定义/自定义的 FORMAT 和 TRY_CAST?的主要内容,如果未能解决你的问题,请参考以下文章

R语言用户自定义函数的语法结构编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等)编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据)应用自定函数

自定义的paypal登录过程

如何让用户保存自定义样式表设置[重复]

将搜索框添加到自定义地图 javascript

动态自定义 django 管理列?

自定义 HTML5 地理位置提示