以下是用到的那段SQL
其中MmEndCtoffLastMm 和 AvgOutStcMm 就是会传过去 的 2个月份参数。
LEFT OUTER JOIN
(SELECT SUM(OT_STC_QTY) AS SUM_OF_OT_STC_QTY ,COUNT(0)
AS OT_STC_MN FROM BAR_INVN_HST_TRN WHERE OPRT_MM
BETWEEN (MmEndCtoffLastMm - AvgOutStcMm ) AND MmEndCtoffLastMm
GROUP BY PRDT_PLNT_CD ,CLR_CD ,FLM_THICK_CD ,PRF_NO ,EFFCTV_SIZ) AS GRP_BAR_INVN_HST
12 个解决方案
#1
希望哪位高手能帮忙,感激不尽。急~~
#2
你可以在VB下相减好,在传给SQL
Dim c As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim c1 As DateTime = DateTime.Today
Dim diff1 As System.TimeSpan
diff1 = c1.Subtract(c)
Dim date4 As System.DateTime
date4 = c1.Subtract(diff1)
Dim 你要的日期 As String = Format(date4, "yyyyMM")
Dim c As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim c1 As DateTime = DateTime.Today
Dim diff1 As System.TimeSpan
diff1 = c1.Subtract(c)
Dim date4 As System.DateTime
date4 = c1.Subtract(diff1)
Dim 你要的日期 As String = Format(date4, "yyyyMM")
#3
Dim c As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim c1 As DateTime = DateTime.Today
Dim 你要的日期 As String = Format(c1.Subtract(c1 - c), "yyyyMM")
Dim c1 As DateTime = DateTime.Today
Dim 你要的日期 As String = Format(c1.Subtract(c1 - c), "yyyyMM")
#4
感谢liqiang 拉,我先去试一下~~
#5
我想问一下,1996, 6, 3, 22, 15, 0 这些是什么类型
我那两个参数是string型,而且只有年月组合一起的。 也可以么
我那两个参数是string型,而且只有年月组合一起的。 也可以么
#6
哎,目前一直在弄怎么把string 型转换成date型了。。。晕头。先去吃饭
#7
比如“200708“这个字符串要转换成date型该怎么写呢,我已经各种尝试都不行了。似乎只有年,月,没有 日 就怎么都不行。。
我这样写的,也不行。
dim strMmEndCtoffLastMm = '200708'
Dim dateAvgOutStcMm As Date
Dim dateMmEndCtoffLastMm As Date
Dim y As Integer = 0
Dim m As Integer = 0
y = Integer.Parse(strMmEndCtoffLastMm.Substring(0, 4))
m = Integer.Parse(strMmEndCtoffLastMm.Substring(4))
dateMmEndCtoffLastMm.AddYears(y)
dateMmEndCtoffLastMm.AddMonths(m)
dateAvgOutStcMm = dateMmEndCtoffLastMm
求教大家勒~~~~~~~~~~~~~~~~
我这样写的,也不行。
dim strMmEndCtoffLastMm = '200708'
Dim dateAvgOutStcMm As Date
Dim dateMmEndCtoffLastMm As Date
Dim y As Integer = 0
Dim m As Integer = 0
y = Integer.Parse(strMmEndCtoffLastMm.Substring(0, 4))
m = Integer.Parse(strMmEndCtoffLastMm.Substring(4))
dateMmEndCtoffLastMm.AddYears(y)
dateMmEndCtoffLastMm.AddMonths(m)
dateAvgOutStcMm = dateMmEndCtoffLastMm
求教大家勒~~~~~~~~~~~~~~~~
#8
SQL Server 用 Convert 可以将 yyyymmdd 的字符转化为日期,你的字符后面可以添加 '01' 作为 dd:
Convert(date, 112, '200710' + '01')
然后就可以用 DateDiff 求日期差了。
Convert(date, 112, '200710' + '01')
然后就可以用 DateDiff 求日期差了。
#9
可是我们现在用的数据库是db2~~ 现在我连把那个string 转换成date 都转不了勒阿。 求教楼上的vb老鸟老大啊
看下我8楼的问题好吗
看下我8楼的问题好吗
#10
DB2 的 To_Date 函数能直接指定格式 yyyymm,更方便。
#11
1996, 6, 3, 22, 15, 0 是年月日小时分钟秒
cdate(string)
cdete ("2007-09-10")
cdate(string)
cdete ("2007-09-10")
#12
Year.Text = dateNow.Year.ToString
Month.Text = dateNow.Month.ToString
樓主可以試下只拿個年份和月份,計算完後再合一起存進數據庫裡去。
Month.Text = dateNow.Month.ToString
樓主可以試下只拿個年份和月份,計算完後再合一起存進數據庫裡去。
#1
希望哪位高手能帮忙,感激不尽。急~~
#2
你可以在VB下相减好,在传给SQL
Dim c As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim c1 As DateTime = DateTime.Today
Dim diff1 As System.TimeSpan
diff1 = c1.Subtract(c)
Dim date4 As System.DateTime
date4 = c1.Subtract(diff1)
Dim 你要的日期 As String = Format(date4, "yyyyMM")
Dim c As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim c1 As DateTime = DateTime.Today
Dim diff1 As System.TimeSpan
diff1 = c1.Subtract(c)
Dim date4 As System.DateTime
date4 = c1.Subtract(diff1)
Dim 你要的日期 As String = Format(date4, "yyyyMM")
#3
Dim c As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim c1 As DateTime = DateTime.Today
Dim 你要的日期 As String = Format(c1.Subtract(c1 - c), "yyyyMM")
Dim c1 As DateTime = DateTime.Today
Dim 你要的日期 As String = Format(c1.Subtract(c1 - c), "yyyyMM")
#4
感谢liqiang 拉,我先去试一下~~
#5
我想问一下,1996, 6, 3, 22, 15, 0 这些是什么类型
我那两个参数是string型,而且只有年月组合一起的。 也可以么
我那两个参数是string型,而且只有年月组合一起的。 也可以么
#6
哎,目前一直在弄怎么把string 型转换成date型了。。。晕头。先去吃饭
#7
比如“200708“这个字符串要转换成date型该怎么写呢,我已经各种尝试都不行了。似乎只有年,月,没有 日 就怎么都不行。。
我这样写的,也不行。
dim strMmEndCtoffLastMm = '200708'
Dim dateAvgOutStcMm As Date
Dim dateMmEndCtoffLastMm As Date
Dim y As Integer = 0
Dim m As Integer = 0
y = Integer.Parse(strMmEndCtoffLastMm.Substring(0, 4))
m = Integer.Parse(strMmEndCtoffLastMm.Substring(4))
dateMmEndCtoffLastMm.AddYears(y)
dateMmEndCtoffLastMm.AddMonths(m)
dateAvgOutStcMm = dateMmEndCtoffLastMm
求教大家勒~~~~~~~~~~~~~~~~
我这样写的,也不行。
dim strMmEndCtoffLastMm = '200708'
Dim dateAvgOutStcMm As Date
Dim dateMmEndCtoffLastMm As Date
Dim y As Integer = 0
Dim m As Integer = 0
y = Integer.Parse(strMmEndCtoffLastMm.Substring(0, 4))
m = Integer.Parse(strMmEndCtoffLastMm.Substring(4))
dateMmEndCtoffLastMm.AddYears(y)
dateMmEndCtoffLastMm.AddMonths(m)
dateAvgOutStcMm = dateMmEndCtoffLastMm
求教大家勒~~~~~~~~~~~~~~~~
#8
SQL Server 用 Convert 可以将 yyyymmdd 的字符转化为日期,你的字符后面可以添加 '01' 作为 dd:
Convert(date, 112, '200710' + '01')
然后就可以用 DateDiff 求日期差了。
Convert(date, 112, '200710' + '01')
然后就可以用 DateDiff 求日期差了。
#9
可是我们现在用的数据库是db2~~ 现在我连把那个string 转换成date 都转不了勒阿。 求教楼上的vb老鸟老大啊
看下我8楼的问题好吗
看下我8楼的问题好吗
#10
DB2 的 To_Date 函数能直接指定格式 yyyymm,更方便。
#11
1996, 6, 3, 22, 15, 0 是年月日小时分钟秒
cdate(string)
cdete ("2007-09-10")
cdate(string)
cdete ("2007-09-10")
#12
Year.Text = dateNow.Year.ToString
Month.Text = dateNow.Month.ToString
樓主可以試下只拿個年份和月份,計算完後再合一起存進數據庫裡去。
Month.Text = dateNow.Month.ToString
樓主可以試下只拿個年份和月份,計算完後再合一起存進數據庫裡去。