我想将dateformat yyyy-mm-ddThh:mm:ss.mmm
转换为yyyy-mm-ddThh:mm:ss
,而XML中没有毫秒
目前我的格式为:2013-06-21T12:50:01.444
。
我想在sql server中没有毫秒
答案 0 :(得分:0)
-- Truncate datetime value to seconds in XML variable
declare @XML xml
-- Create XML
select @XML =
(
select getdate() as value
for xml path(''), type
)
-- Show current value
select @XML
-- Remove three last characters using substring
set @XML.modify('replace value of (/value/text())[1]
with substring((/value)[1], 1, 19)')
-- Show modified value
select @XML
replace value of (XML DML)
substring Function (XQuery)
如果您不想修改XML但仅在获取值时截断为秒,则可以在使用char(19)
方法时将value()
指定为SQLType。
select @XML.value('(/value/text())[1]', 'char(19)')
如果您使用的是SQL Server 2008或更高版本,请或datetime2(0)
。
select @XML.value('(/value/text())[1]', 'datetime2(0)')