【发布时间】:2014-12-19 11:38:50
【问题描述】:
我已经阅读了有关如何解决此问题的堆栈溢出的大部分链接,但我仍然希望了解清楚,我正在使用 C# 选择时间戳 (12/19/2014 2:34:09.808151 PM +03:00),我只想以这种格式 YYYYMMDD (20141214) 选择日期。这就是我所拥有的:
string datepaid = "";
然后我执行查询
String SQL = String.Format("SELECT TRANSACTION_CASH_ID,SOURCE_MSISDN,AMOUNT,REFERENCE_ID, CREATED_TIMESTAMP, STATUS_DESCRIPTION,CASH_INFORMATION,(SELECT FIRST_NAME|| ' ' ||SECOND_NAME||' '||LAST_NAME FROM TAX_ACCOUNT_DATA WHERE AUTHORIZED_MOBILE_NUMBER = SOURCE_MSISDN) AS TAX_PAYER_NAME FROM TRANSACTION_CASH WHERE DEST_MSISDN = '12345678923'");
然后我分配它做一个数据表
foreach (DataRow row in table.Rows)
{
datepaid = row["CREATED_TIMESTAMP"].ToString();
}
然后记录值。
我的问题是如何获取YYYYMMDD 中的日期,将其分配给字符串datepaid,然后在我的数据表C# 中使用它
【问题讨论】:
-
你的一天是
19。这个14来自哪里?您的数据库中有12/19/2014 2:34:09.808151 PM +03:00作为字符串?timestamp类型可以保持这个值吗?我不这么认为。连datetime类型都抱不动。 -
打错了,应该是19
-
从不,我重复 NEVER,使用
String.Format将参数放入 SQL 查询中。请改用参数化查询。不,没有任何借口可以使用String.Format。 -
其实这里根本不涉及参数,所以不需要String.Format调用
-
检查我的答案,如果对你有帮助,请告诉我。