Дата в формате ГГГГ-ММ-ДД в сценарии оболочки

попробуйте использовать функцию instr?

select my_column from my_table where  instr(?, ','||search_column||',') > 0

, тогда

ps.setString(1, ",A,B,C,"); 

По общему признанию, это немного грязный взлома, но это уменьшает возможности для SQL-инъекции. Все равно работает в oracle.

1000
задан codeforester 19 December 2018 в 00:49
поделиться

4 ответа

В bash (> = 4.2) предпочтительнее использовать встроенное средство форматирования даты printf (часть bash), а не внешнюю дату (обычно дату GNU).

Как таковой:

# put current date as yyyy-mm-dd in $date
# -1 -> explicit current date, bash >=4.3 defaults to current time if not provided
# -2 -> start time for shell
printf -v date '%(%Y-%m-%d)T\n' -1 

# put current date as yyyy-mm-dd HH:MM:SS in $date
printf -v date '%(%Y-%m-%d %H:%M:%S)T\n' -1 

# to print directly remove -v flag, as such:
printf '%(%Y-%m-%d)T\n' -1
# -> current date printed to terminal

В bash (<4.2):

# put current date as yyyy-mm-dd in $date
date=$(date '+%Y-%m-%d')

# put current date as yyyy-mm-dd HH:MM:SS in $date
date=$(date '+%Y-%m-%d %H:%M:%S')

# print current date directly
echo $(date '+%Y-%m-%d')

Другие доступные форматы даты можно просмотреть на страницах руководства дат (для внешней команды, не связанной с bash):

man date
1756
ответ дан 19 December 2019 в 20:19
поделиться

Я использую следующую формулировку:

TODAY=`date -I`
echo $TODAY

Контроль страница справочника для date, существует много других полезных опций:

man date
4
ответ дан Luís de Sousa 4 November 2019 в 06:24
поделиться

Вы можете сделать что-то вроде этого:

$ date +'%Y-%m-%d'
83
ответ дан 19 December 2019 в 20:19
поделиться

Попробуйте: $ (date +% F)

322
ответ дан 19 December 2019 в 20:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: