前一段時間,有網友問及中文日期的問題原來最終要求是需要在sql中處理。
create
function
[dbo].
[udf_converttochinesedate](
@date
datetime
)returns
nvarchar(20
)asbegin
--定義乙個表變數
declare
@digital
table([
d1][tinyint
]not
null,[
d2][nvarchar](
2) notnull,[
d3][nvarchar](
2) notnull)--
把值填充
insert
into
@digital
values(0
,n'〇'
,n'零'
),(1,n'
一',n'
壹'),(2,n'
二',n'
貳'),(3,n'
三',n'
叄'),(4,n'
四',n'
肆'),(5,n'
五',n'
伍'),(
6,n'六
',n'陸
'),(7,n
'七',n
'柒'),(8,n
'八',n
'捌'),(9,n
'九',n
'玖')
--處理接收的變數值轉換為***x-xx-xx日期格式
declare
@string
nvarchar(20
) =convert
(varchar(20
),@date,23
)--處理時乙個臨理變數
declare
@dumpstring
nvarchar(20
) =''declare
@iint=1
--迴圈字串
while
@i<=
len(
@string
)begin
declare
@dump
nvarchar(2
) =substring
(@string,@i
,1)
--判斷是否為數字if(
@dump
like
'[0-9]')
beginif(
@dump=0
and(@i=
6or@i=
9))
--如果第6位和第9位為0省略
set@dumpstring+=n
''else
set@dumpstring+=(
select[d2
]from
@digital
where[d1
]=@dump
)
endelse
begin
if@i=5
set@dumpstring+=n
'年'if
@i=8set
@dumpstring+=n
'月'end
set@i=@i
+1endreturn
@dumpstring+n
'日'end
演示:select
[dbo].
[udf_converttochinesedate](
current_timestamp)
結果:
Transact SQL 語言概述
transact sql 語言中標準的sql 語句暢通無阻.transact sql 也有類似於sql 語言的分類,不過做了許多擴充.transact sql 語言的分類如下 珨 br 用來說明變數的命令.耨ddl,data definition language 用來建立資料庫 資料庫物件和定義其...
建立 Transact SQL 作業步驟
在物件資源管理器中,連線到 sql server 資料庫引擎例項,再展開該例項。展開 sql server 建立乙個新作業或右鍵單擊乙個現有作業,再單擊 屬性 有關建立作業的詳細資訊,請參閱建立作業。在 作業屬性 對話方塊中,單擊 步驟 頁,再單擊 新建 在 新建作業步驟 對話方塊中,鍵入作業的 步...
Transact SQL命令之批
批 在建立批的時候,應注意下面幾點 1 只有某些語句可以合併起來建立乙個批,而其它一些語句不能合併。2 不能在同乙個批中既將規則和預設繫結在列上,又使用它們。3 不能在乙個批中刪除物件又重新建立它們。4 不能在乙個批中修改乙個表並引用新列。5 不能在乙個批中定義並使用check約束。6 使用set語...