 |
|
แสดงข้อมูลย้อนหลังตามเดือนค่ะ ส่วนนี้โค๊ดนะค่ะ อยากให้มันออกมาแบบการยืมนะค่ะ เลือกเช็คคืนแต่ล่ะอย่างได้ |
|
 |
|
|
 |
 |
|
Code (VB.NET)
เราอยู่วันที่ 11/03/2010 ข้อมูลที่แสดงออกมาก็จะเป็นข้อมูลของวันที่ 1/02/2010 ถึง 28/02/2010
ควรจะเป็น
===================================================
RANGE
=====================
Date Begin Terminated
===================================================
11/03/2010 1/03/2010 30/03/2010
11/02/2010 1/02/2010 28/03/2010
แบบนี้หรือเปล่าคะ ถ้าใช่ จำได้ว่าเคยเขียน function หาวันสุดท้ายของเดือนให้คุณส้มโอดูมาครั้งนึงแล้วค่ะ
เรื่อง รันโปรแกรมอัตโนมัติน่ะค่ะ ลองไปดัดแปลงดูนะคะ
|
 |
 |
 |
 |
Date :
2010-03-11 12:32:54 |
By :
blurEye |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอ่อ คือ คิวรี่นี้มันอยู่ในวิวอะค่ะ เลยอยากทราบว่า คำสั่ง sql มีคำสั่งตัวไหนที่สามารถทำงานได้ตามที่ส้มโอต้องการบ้างอะค่ะ ถ้าใส่ฟังชั่นของคุณ blureye ก็คงต้องเอาคิวรี่ไปใส่ใน .net เลย
รบกวนหน่อยค่ะ
|
 |
 |
 |
 |
Date :
2010-03-11 17:39:18 |
By :
somooo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (VB.NET)
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ======================================================
-- Author: <PROUD ,PRANAKHON RAJABHUTNUNIVERSITY>
-- Create date: <12 DEC 2009>
-- Description: <CREATE DATETIME WITH EXACTLY FORMAT>
-- ======================================================
CREATE FUNCTION [dbo].[DATE_SERIAL](@VAR_YEARPART INT ,@VAR_MONTHPART INT ,@VAR_DAYPART INT)
RETURNS DATETIME
AS
BEGIN
DECLARE
@TEMP_STR VARCHAR(20) ,
@RET_DATE DATETIME;
-- BEGIN CALCULATION
SET @TEMP_STR = CONVERT(VARCHAR ,@VAR_DAYPART) + '-'
+ CONVERT(VARCHAR ,@VAR_MONTHPART) + '-'
+ CONVERT(VARCHAR ,@VAR_YEARPART) ;
SET @RET_DATE = CONVERT(DATETIME ,@TEMP_STR ,105) ;
RETURN @RET_DATE ;
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Code (VB.NET)
-- =============================================
-- Author: <PROUD ,PRANAKHON RAJABHUT UNIVERSITY>
-- Create date: <11 MARCH 2010>
-- Description: <AS FUNCTION NAME>
-- =============================================
CREATE FUNCTION [dbo].[GET_LAST_DAY_OF_MONTH](@VAR_DATE DATETIME)
RETURNS DATETIME
AS
BEGIN
-- Declare the return variable here
DECLARE
@RET_DATE DATETIME ;
SET @RET_DATE = dbo.DATE_SERIAL(YEAR(@VAR_DATE),MONTH(@VAR_DATE),1 );
SET @RET_DATE = DATEADD( MONTH ,1 ,@RET_DATE );
SET @RET_DATE = DATEADD( DAY ,-1 ,@RET_DATE );
RETURN @RET_DATE
END
GO
|
 |
 |
 |
 |
Date :
2010-03-11 21:01:15 |
By :
blurEye |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

^^ SESSION EXPIRE ไปสะงั้น
|
 |
 |
 |
 |
Date :
2010-03-11 21:03:02 |
By :
blurEye |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอ่อคือย้อนกลับไปดูที่คุณ blureye ตอบ No. 1 ไว้ จิงๆมันไม่ใช่อย่างนั้นนะค่ะ จะเอาย้อนหลัง
===================================================
04. RANGE
05. =====================
06.Date Begin Terminated
07.===================================================
08.11/03/2010 1/02/2010 28/02/2010
09.11/02/2010 1/01/2010 31/01/2010
มันจะต้องเป็นอย่างนี้ค่ะ
|
 |
 |
 |
 |
Date :
2010-03-11 21:28:33 |
By :
somooo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
^^ ก็แก้เป็นแบบนี้ปะคะ
Code (VB.NET)
DECLARE
@SOM_OOO_DATE DATETIME,
@MASK_DATE DATETIME;
SET @SOM_OOO_DATE = dbo.DATE_SERIAL(2010,03,08) ;
SET @MASK_DATE = DATEADD(MONTH ,-1 ,@SOM_OOO_DATE) ;
SELECT @SOM_OOO_DATE AS DATE_ENTRY
, dbo.DATE_SERIAL(YEAR(@MASK_DATE),MONTH(@MASK_DATE),01) AS BEGIN_QUERY_DATE
, dbo.GET_LAST_DAY_OF_MONTH(@MASK_DATE) AS TERMINATED_QUERY_DATE ;
|
 |
 |
 |
 |
Date :
2010-03-11 21:37:37 |
By :
blurEye |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|