線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1480
推到 Plurk!
推到 Facebook!

在MS SQL 的 T-SQL 中何把字串'93/01'轉成 '2004/01/01'??

尚未結案
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-12 22:32:53 IP:61.70.xxx.xxx 未訂閱
請問各位前輩: 在MS SQL 的 T-SQL 中何把字串'93/01'轉成 '2004/01/01'?? 因我想 傳入 '93/01' 自動算出 [計算日期起] [計算日期迄]及 [上月](92/12) 不知在 T-SQL 中有何Function 可以運用?? 謝謝各位前輩!@ DECLARE @CountYM varchar(8) DECLARE @PriorYM varchar(8) DECLARE @CountDateStart datetime DECLARE @CountDateEnd datetime SET @CountYM='93/01' /*計算年月*/ SET @CountDateStart='2004/01/01' /*計算日期起*/ SET @CountDateEnd='2004/01/31' /*計算日期迄*/ SET @PriorYM='92/12' /*上月*/
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-13 06:18:23 IP:218.163.xxx.xxx 未訂閱
你好      試試改成這樣    
    CREATE PROCEDURE [sp1] AS    DECLARE  @y  char(4)
declare @m char(2)
declare @d char(2)    DECLARE @CountYM varchar(8)
DECLARE @PriorYM varchar(8)
DECLARE @CountDateStart datetime
DECLARE @CountDateEnd datetime    SET @CountYM='93/01' /*計算年月*/
/* 拿這做例子好了 */    set @y=left (@CountYM,2)
set @m=substring(@CountYM,4,2)
set @y=cast (cast(@y as int) 1911 as char(4))
set @CountYM=@y '/' @m    
left:第一個參數是傳入的字串,第二個參數是由左開始取幾位 substring:第一個參數是傳入的字串,第二個參數是起始位置,第三個參數是取幾位數 cast:轉換型別與長度,語法是 cast(變數 as 型別加長度) 發表人 - hahalin 於 2004/02/13 06:21:25
系統時間:2024-05-20 5:03:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!