小编Sql*_*Zim的帖子

format() 是一个不确定的内置字符串函数......对吗?

在我发布关于缺少相关文档的连接项目之前,有人会确认我不是在这里遗漏了什么吗?

format被列为字符串函数的文档页面上:

“所有内置字符串函数都是确定性的。” -字符串函数 (Transact-SQL)

format在相关页面上也没有提到不确定性:


但是,在尝试创建持久计算列时:

create table t (date_col date); 
insert into t values (getdate());
alter table t add date_formatted_01 as format(date_col,'YYYY') persisted;
Run Code Online (Sandbox Code Playgroud)

返回以下错误:

无法保留表 't' 中的计算列 'date_formatted_01',因为该列是不确定的。

该文件指出

如果未提供文化参数,则使用当前会话的语言。

但添加文化论点并不会改变事情

这也失败

alter table t add date_formatted_02 as format(date_col, 'd', 'en-US' ) persisted
Run Code Online (Sandbox Code Playgroud)

reextester 演示:http ://rextester.com/ZMS22966

dbfiddle.uk 演示:http ://dbfiddle.uk/?rdbms=sqlserver_next&fiddle=7fc57d1916e901cb561b551af144aed6

sql-server

10
推荐指数
2
解决办法
1129
查看次数

如何循环遍历表并更新 SQL 中的字段

我需要根据accountId表中的以 1 开头的序列号更新一列。我该怎么做呢?

所以OrderIDNULL开始。所以对于每一行AccountID我需要更新OrderID从 1 开始并按顺序更新,所以我的数据是这样出来的。该表被称为Renewals

RowID  AccountID  OrderID
1      A          1
2      A          2
4      A          3
5      B          1
6      B          2
7      C          1
Run Code Online (Sandbox Code Playgroud)

sql-server

5
推荐指数
2
解决办法
5万
查看次数

标签 统计

sql-server ×2