我刚刚开始使用 SQL Server,在向具有类型列的表中添加值时遇到一些麻烦uniqueidentifier。
该表包括:
ID (uniqueidentifier), CODE (nchar(5)), COUNTRY_CODE(nchar(2)), NAME(nchar30)
Run Code Online (Sandbox Code Playgroud)
我尝试从 Excel 和 CSV 文件添加值,基本上它们看起来像这样:
DEBE,DE,Berlin
Run Code Online (Sandbox Code Playgroud)
我无法加载它,这个 ID 字段总是出现一些错误。
当我尝试手动添加值时,例如:
INSERT INTO [Portfolio].[dbo].[Regions](CODE, COUNTRY_CODE, NAME)
VALUES ('DEBE', 'DE', 'Berlin');
Run Code Online (Sandbox Code Playgroud)
它说:
无法将 NULL 值插入表“Portfolio.dbo.Regions”的“ID”列;列不允许为空。插入失败。
当然,当我添加id列和数字时,我得到 int 与 不兼容的信息uniqueidentifier。
我什至尝试创建一个临时表(用idasINT代替uniqueidentifier)并将其中的值复制到此表中(没有ID列,它应该自动生成)
我唯一能想到的是该ID列没有自动为其创建值,我不知道如何解决这个问题。有人可以帮忙吗?
我在Oracle数据库上做日期替换时遇到了一些麻烦.
我有一个问题:
select
status,
id,
to_char(creationdatetime,'yyyy/mm/dd hh24:mm:ss') as Creation_Time,
to_char(lastmodificationdatetime,'yyyy/mm/dd hh24:mm:ss') as Last_Mod_Time,
substr(lastmodificationdatetime - creationdatetime,1,30)*24 as Time_Between,
--trunc((((86400*(lastmodificationdatetime - creationdatetime))/60)/60)/24) "Days",
--trunc(((86400*(lastmodificationdatetime - creationdatetime))/60)/60)-24*(trunc((((86400*(lastmodificationdatetime - creationdatetime))/60)/60)/24)) "Hrs",
--trunc((86400*(lastmodificationdatetime - creationdatetime))/60)-60*(trunc(((86400*(lastmodificationdatetime - creationdatetime))/60)/60)) "Min",
--trunc(86400*(lastmodificationdatetime - creationdatetime))-60*(trunc((86400*(lastmodificationdatetime - creationdatetime))/60)) "Sec"
from
table
where
Status='Completed' or Status='Cancelled';
Run Code Online (Sandbox Code Playgroud)
(trunc是检查计算日期的其他方式)
然后我得到结果:
Status ID CreationDate Lastmodificationdate Time_Between Days Hours Minutes Seconds
Completed id1 2013/03/25 12:03:14 2013/03/25 13:03:17 1,78416666666666666666666666648 0 1 47 3
Completed id2 2013/03/26 09:03:22 2013/03/26 09:03:28 0,45166666666666666666666666656 0 0 27 5
Cancelled …Run Code Online (Sandbox Code Playgroud)