2018年1月24日 星期三

[SQL] 以今日日期取得上個月1號日期

MSSQL語法:

取得上個月1號日期
SELECT dateadd(dd, -day(dateadd(month, -1, getdate()))+1, dateadd(month, -1, getdate()))

輸出:2017-12-01 12:13:25.617

在格式化成 yyyy/mm/dd  
SELECT convert(varchar, dateadd(dd, -day(dateadd(month, -1, getdate()))+1, dateadd(month, -1, getdate())), 111)

輸出:2017/12/01

-----------------------------------------------------------------------------------------------------------------------

Oracle語法:

取得上個月1號日期

SELECT to_date(to_char(add_months(SYSDATE, -1), 'YYYY-MM') || '-01', 'yyyy/mm/dd') from dual;

輸出:01-DEC-17

在格式化成 yyyy/mm/dd 

SELECT TO_CHAR(to_date(to_char(add_months(SYSDATE, -1), 'YYYY-MM') || '-01', 'yyyy/mm/dd'), 'yyyy/mm/dd') from dual;

輸出:2017/12/01

2018年1月22日 星期一

[jQuery] $.map 使用方式

需求:傳入日期,取出對應的匯率值
function DateRate(selectDate){
var ratelist = [{ date: "2018/01/18", rate: "30.11" },{ date: "2018/01/19", rate: "30.12" }];
//print object array
console.log(ratelist);
var def = $.map(ratelist, function (item, index) {
if (item.date == selectDate) {
return item.rate;
}else {
return null;
}
});
//print def array
console.log(def)
if(def !== ''){
//print 30.11
$("#ratetxt").val(def[0]);
}else {
$("#ratetxt").val("no data");
}
}
完整範例應用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<link href="https://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<title>依選擇日期取得對應匯率</title>
</head>
<body>
<h2>依選擇日期取得對應匯率</h2>
選擇日期:
<input id="ExchangeRateDate" type="text" />
<br/><br/>
顯示匯率:
<input id="ratetxt" type="text" readonly="readonly"></div>
<script id="jsbin-javascript">
function DateRate(selectDate){
var ratelist = [{ date:"2018/01/18", rate:"30.11" },
{ date:"2018/01/19", rate:"30.12" },
{ date:"2018/01/20", rate:"30.13" }];
//print object array
console.log(ratelist);
var def = $.map(ratelist, function (item, index) {
if (item.date == selectDate) {
return item.rate;
}else {
return null;
}
});
//print def array
console.log(def);
if(def !== ''){
//print 30.11
$("#ratetxt").val(def[0]);
}else {
$("#ratetxt").val("no data");
}
}
$.datepicker.setDefaults($.datepicker.regional["zh-TW"]);
$("#ExchangeRateDate").datepicker({
changeYear: true,
changeMonth: true,
dateFormat: "yy/mm/dd",
maxDate: 0,
//minDate: "-1m",
onSelect: function (dat, inst) {
DateRate(dat);
}
});
</script>
<script id="jsbin-source-javascript" type="text/javascript">
function DateRate(selectDate){
var ratelist = [{ date:"2018/01/18", rate:"30.11" },
{ date:"2018/01/19", rate:"30.12" },
{ date:"2018/01/20", rate:"30.13" }];
//print object array
console.log(ratelist);
var def = $.map(ratelist, function (item, index) {
if (item.date == selectDate) {
return item.rate;
}else {
return null;
}
});
//print def array
console.log(def);
if(def !== ''){
//print 30.11
$("#ratetxt").val(def[0]);
}else {
$("#ratetxt").val("no data");
}
}
$.datepicker.setDefaults($.datepicker.regional["zh-TW"]);
$("#ExchangeRateDate").datepicker({
changeYear: true,
changeMonth: true,
dateFormat: "yy/mm/dd",
maxDate: 0,
//minDate: "-1m",
onSelect: function (dat, inst) {
DateRate(dat);
}
});
</script></body>
</html>
function DateRate(selectDate){
var ratelist = [{ date:"2018/01/18", rate:"30.11" },
{ date:"2018/01/19", rate:"30.12" },
{ date:"2018/01/20", rate:"30.13" }];
//print object array
console.log(ratelist);
var def = $.map(ratelist, function (item, index) {
if (item.date == selectDate) {
return item.rate;
}else {
return null;
}
});
//print def array
console.log(def);
if(def !== ''){
//print 30.11
$("#ratetxt").val(def[0]);
}else {
$("#ratetxt").val("no data");
}
}
$.datepicker.setDefaults($.datepicker.regional["zh-TW"]);
$("#ExchangeRateDate").datepicker({
changeYear: true,
changeMonth: true,
dateFormat: "yy/mm/dd",
maxDate: 0,
//minDate: "-1m",
onSelect: function (dat, inst) {
DateRate(dat);
}
});