我有一个特别的情况,我无法弄明白。
我在SQL表中有一个字段,该字段以下列格式保存为DATETIME:
path <- "C:/Users/Thomas/Desktop/tapping backup/Pilot141116/pilot_151116_pat1_250/realisations/participant_8/Trial1"
setwd( path )
files <- list.files(path = path, pattern = "midi.*\\.csv", full.names = T )
# set up a function to read a file and add a column for filename
import <- function( file ) {
df <- read_csv( file, col_names = T )
df$file <- file
return( df )
}
# run that function across all files.
data1 <- ldply( .data = files, .fun = import )
这一切都很好,除了我需要2016-11-26 00:00:00
格式。
我不想在SQL中使用dd/MM/yyyy
函数,因为我需要DATE格式,而不是STRING格式。
我使用EPPlus库将结果DataTable导出到Excel,我需要以这种格式导出导出中的日期字段。
我试过了:
CONVERT(VARCHAR(10), @dateField, 103)
以及将其转换回DATE类型。它仍然隐式转换为VARCHAR或NVARCHAR FORMAT(@dateField, 'dd/MM/yyyy', 'en-gb')
DateTime.ParseExact(dataTable.Rows[i]["DateField"].ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
我的转换选项用完了,因为我没有尝试使用DateTime格式。我所采用的每条路径都将我的值转换回字符串。任何帮助将不胜感激:)
答案 0 :(得分:0)
如果它是日期时间列,则将其保存为日期的二进制表示;只有在管理工作室等客户端应用程序中呈现时,它才会以某种格式呈现。
因此,如果您需要特定格式,则表示以该格式呈现为字符串。保存回数据库时,您始终可以转换回日期时间(并且应该!)。例如,您可能希望在保存之前从日期时间修剪时间部分。