当我在SQL中选择日期时,它将返回为 2011-02-25 21:17:33.933.但我只需要Date部分2011-02-25.我怎样才能做到这一点?
这是我使用的:
SELECT CAST(FLOOR(CAST(getdate() as FLOAT)) as DATETIME)
Run Code Online (Sandbox Code Playgroud)
我想可能会有更好更优雅的方式.
要求:
datetime类型,而不是字符串.DELETE from Table WHERE Date > GETDATE();
Run Code Online (Sandbox Code Playgroud)
GETDATE()包括时间.而不是得到
2011-01-26 14:58:21.637
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到:
2011-01-26 00:00:00.000
Run Code Online (Sandbox Code Playgroud) 在MS SQL 2000和2005中,给定日期时间,例如'2008-09-25 12:34:56',获得仅包含'2008-09-25'的日期时间的最有效方法是什么?
这里重复一遍.
我有一个具有CreationDate字段的SQL表.
我有getdate()计算列规范公式.
我想知道如何获得日期部分,即'2012-08-24'而不是'2012-08-24 10:45:17.740'.
我在SQL Server的Table TransactionMaster中有3列
1)transaction_amount
2)Card_No
3)transaction_date-- datetime数据类型
所以,我想获取SUM transaction_amount where Card_No=' 123'和transaction_date= todays date.<-----不包括时间IN SQL
在sql 2005中,而不是从dateparts年,月和日建立一个查询,
有没有更简洁的方式编写where子句?
我怎样才能获得DateTime的Date部分?我正在寻找像year()函数这样的东西但是整个日期.
我需要根据日期对某些记录进行分组,但它是一个日期和时间字段,我需要忽略时间部分,只需按日期部分进行分组 - 这是我现在的SQL:
SELECT
AutoShipItems.CustomerID,AutoShipItems.NextOrderDate,
Customer.FirstName,Customer.LastName, Customer.EmailAddress
FROM
AutoShipItems
INNER JOIN Customer ON
AutoShipItems.CustomerID =Customer.CustomerID
WHERE
(AutoShipItems.NextOrderDate <= GETDATE())
GROUP BY
AutoShipItems.CustomerID, AutoShipItems.NextOrderDate,
Customer.FirstName, Customer.LastName,
Customer.EmailAddress
ORDER BY
AutoShipItems.NextOrderDate
Run Code Online (Sandbox Code Playgroud) 我的项目涉及进行各种 SQL 查询,通过 pandas 将它们转换为 python 中的数据帧,按用户名列进行过滤,然后将过滤后的数据帧输出到单个 HTML 文件,这些文件将转换为 PDF 并发布。
我遇到了一个问题,当日期列出现在 HTML 中时,它们是 YY-MM-DD-HH-MM-SS,但我希望它们是 YY-MM-DD 以使 PDF 输出看起来像清洁工。
我知道我可以使用以下命令将单个命名列转换为所需的输出:
dataset['datecolumn'] = dataset['datecolumn'].dt.date
Run Code Online (Sandbox Code Playgroud)
我确实设法使用上述方法解决了问题,方法是获取列名称列表,然后应用 for 循环,如下所示:
datecollist = list(dataset.select_dtypes(include=['datetime64']).columns)
for i in datecollist:
dataset[i] = dataset[i].dt.date
Run Code Online (Sandbox Code Playgroud)
然而,我真的很想找出一种更Pythonic的方法来解决这个问题,因为我想避免代码中进一步的for循环并通过Python能力来改进。
到目前为止,我尝试了一个映射器函数,但没有任何运气:
mapper = lambda x: x.dt.date if isinstance(x, np.datetime64) else x
dataset.columns = dataset.columns.map(mapper)
Run Code Online (Sandbox Code Playgroud)
它似乎只是跳过了我想要转换的列。我注意到,当我检查这些列的数据类型时,它们显示为:
in: dataset['First Date'].dtype
out: dtype('<M8[ns]')
Run Code Online (Sandbox Code Playgroud)
谁能建议我的映射器方法出了问题,或者向我展示一种更有效/更干净的解决问题的方法?