簡體   English   中英

從Sybase中非常長的字符串名稱列中獲取日期

[英]Picking up the date from very long string name column in Sybase

我正在Sybase中使用這些表,這些表具有列“ ID”,“ File_Name”

表格1

IDS    File_Name_Attached
123    ROSE1234_abcdefghi_03012014_04292014_190038.zip   
456    ROSE1234_abcdefghi_08012014_04292014_190038.zip

我所需要的只是獲取文件名中指定的第一個日期。

需要:

IDS     Dates  
123    03012014
456    08012014

您可以使用SUBSTRINGPATINDEX查找日期的start_index:

LiveDemo

CREATE TABLE #table1(IDS int, File_Name_attached NVARCHAR(100));

INSERT INTO #table1
VALUES (123, 'ROSE1234_abcdefghi_03012014_04292014_190038.zip'),
(456, 'ROSE1234_abcdefghi_08012014_04292014_190038.zip');

SELECT
  IDS,
  [DATES] = SUBSTRING(File_Name_attached,
                      PATINDEX('%_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]_%', File_Name_attached) + 1,
                      8)
FROM #table1;

警告

我沒有用於測試的Sybase DB,因此如果無法正常工作,請通知我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM