Пожалуйста, попробуйте это.
select SUBSTRING(fieldName, PATINDEX('%[0-9]%', fieldName), LEN(fieldName))
from table_name
select SUBSTRING(fieldName, PATINDEX('%[0-9][0-9][0-9].[0-9]%', fieldName), LEN(fieldName))
from table_name
Вы используете неправильный метод. Вместо этого попробуйте descriptionWithCalendarFormat: timeZone: locale:
[[NSDate date] descriptionWithCalendarFormat:@"%Y-%m-%d"
timezone:nil
locale:nil];
Также обратите внимание, что метод ожидает формат, отличный от того, который задан в вашем вопросе. Полная документация для этого может быть найдена здесь .
РЕДАКТИРОВАТЬ: Хотя, как отметил Майк, вам действительно следует использовать NSDateFormatter
. Существуют некоторые проблемы с описанием descriptionWithCalendarFormat: timezone: locale:
, которое Apple упоминает в документации.
Если у вас нет NSDate -descriptionWithCalendarFormat: timeZone: locale:
доступно (я не верю, что iPhone / Cocoa Touch включает это), вам может понадобиться использовать strftime и обезьяна с некоторыми строками в стиле C. Вы можете получить метку времени UNIX из NSDate, используя NSDate -timeIntervalSince1970
.
Также обратите внимание, что в большинстве случаев NSDateFormatter
предпочтительнее за его гибкость.
Также имеется значительное преимущество в производительности, которое можно получить от повторного использования даты форматеры во многих приложениях.