将UTC日期时间转换为本地日期时间的最佳方法是什么.它不像getutcdate()和getdate()那样简单,因为差异会根据日期而变化.
CLR集成对我来说也不是一个选择.
几个月前我提出解决这个问题的解决方案就是有一个夏令时表,存储了接下来100年左右的开始和结束夏令时,这个解决方案似乎不太优雅,但转换很快(简单)表查找)
我有一个包含可由用户排序的项目的列:
DOC_ID DOC_Order DOC_Name
1 1 aaa
2 3 bbb
3 2 ccc
Run Code Online (Sandbox Code Playgroud)
我正在尝试找到一种方法来在创建条目时正确初始化DOC_Order.一个好的值可能是相应的DO-CID(因为它是自动分配的),或MAX(DOC-ORDER)+ 1
经过一些谷歌搜索后,我看到可以将标量函数的返回值分配给默认列.
CREATE FUNCTION [dbo].[NEWDOC_Order]
(
)
RETURNS int
AS
BEGIN
RETURN (SELECT MAX(DOC_ORDER) + 1 FROM DOC_Documents)
END
Run Code Online (Sandbox Code Playgroud)
但是,我使用MS SQL Management Studio的每次尝试都以"验证列'DOC_Order'的默认值"错误消息结束.
知道将函数分配给DEFAULT的确切SQL语法是什么?
是否有可能欺骗SQL Server返回不同的日期GetDate()而不实际更改机器日期?
这将是很好的,因为我们有一个包含旧数据的数据库,我正在尝试测试一些使用getdate()的查询.
我可以更改我的机器日期,但这会带来其他应用程序的一些其他问题...
任何提示?
谢谢!