在我发布关于缺少相关文档的连接项目之前,有人会确认我不是在这里遗漏了什么吗?
在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
我需要根据accountId
表中的以 1 开头的序列号更新一列。我该怎么做呢?
所以OrderID
是NULL
开始。所以对于每一行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 ×2