|
|
1
1
这是一个将任何文本字符串解析为值表的通用函数…您可以很容易地使用它来完成您想要完成的工作:
|
|
|
2
1
您不能在SQL中定义这个特殊语句。 最好的方法是使用动态SQL创建全局临时表。然后可以使用。 |
|
|
3
1
在T-SQL中,函数必须具有具体的返回类型。您将无法返回包含不同数据类型的表,除非您将其转换为其他进程(例如varchar)解释的基本数据类型,但这似乎会破坏函数的用途。 您可以使用动态SQL创建一个表,它允许您在表定义中指定精度和比例:
定义了表后,您应该能够使用CAST运算符将数据以类似的方式插入行中:
可以说,您甚至不需要强制转换操作,因为当您插入十进制列时,SQL Server将隐式地尝试转换varchar(max)表达式。 不管是哪种方式,它都不漂亮,我建议您在使用动态SQL和它带来的所有头痛之前,先考虑一下用其他方式解决问题的可能性。 |
|
4
1
试试这个,我只编码支持精度高达5的小数,但是如果需要,你可以增加它:
此示例代码使用以下函数:
样本代码输出:
|
|
|
5
0
Cast和动态SQL,尽管我不认为函数能够很好地支持后者。我一直在想:
|
|
6
0
正如其他人提到的,表值用户定义函数必须为每个字段具有特定的返回类型。 我能绕过的方法就是稍微改变一下设计。让函数将[sequence]分解为字符串表。还不进行转换…
然后,一旦您有了一个字符串表,就应用您需要的转换。正如其他人所提到的,这很可能是由动态SQL实现的。 然而,动态SQL在代码主体中的存在可能是一个真正的痛苦… |
|
|
sqlrobert · SQL-如何查找不包含特定字段值的一组记录 2 年前 |
|
|
Nick Fleetwood · 调度语法的LINQ查询 3 年前 |
|
|
Mateen Bagheri · 选择表的计数并选择其自身 3 年前 |
|
Java · 使用交叉应用同时显示两列 3 年前 |