假设我的表中有以下记录。
4 - Mar 1 thru Apr 11
13 - Dec 01 thru Dec 31
我想选择字符串,以便输出是,
Mar 1 thru Apr 11
Dec 01 thru Dec 31
我怎样才能做到这一点?
谢谢
假设我的表中有以下记录。
4 - Mar 1 thru Apr 11
13 - Dec 01 thru Dec 31
我想选择字符串,以便输出是,
Mar 1 thru Apr 11
Dec 01 thru Dec 31
我怎样才能做到这一点?
谢谢
我可以使用:
CHARINDEX ( expressionToFind ,expressionToSearch [ , start_location ] )
请参阅文档:http: //msdn.microsoft.com/en-us/library/ms186323.aspx
所以,这将是:
SELECT SUBSTRING([*FieldName*], CHARINDEX('-', [*FieldName*])+2, 252) FROM [*Table*]
252
是字符数,这是nvarchar
字段的默认长度。如果需要,增加或减少这个数字。
我把+2
(-
破折号和空白)去掉。
您有很多选择,我将使用带有SUBSTR和LEN子句的SELECT ,(请参阅此页面:http: //oreilly.com/catalog/sqlnut/chapter/ch04.html)
数据:
4 - 3 月 1 日至 4 月 11 日
13 - 12 月 1 日至 12 月 31 日
SELECT SUBSTR(your-field,4,TRIM(LEN(your-field)-4)) FROM your-table;
输出:
3 月 1 日至 4 月 11
日 12 月 1 日至 12 月 31 日
注意
- SUBSTR:返回参数的一部分
- LEN:返回参数的长度
- TRIM:返回不带空格的长度
SELECT REPLACE((SUBSTRING('4 - Mar 1 thru Apr 11', CHARINDEX(' - ', '4 - Mar 1 thru Apr 11'), LEN('4 - Mar 1 thru Apr 11'))),' - ','')
这也有效,
我现在会检查你的选择。
谢谢你们所有的帮助。