sqlservertonumber
『壹』 sql語句中數據類型轉換怎麼寫
如下:
表一trxorder 欄位id(bigint),status,requestid(varchar)
表二payment 欄位id(bigint),authstatus,trxorder_id(bigint)(trxorder_id是參考trxorder表的id的外鍵)
表三manual 欄位status, eventkey(varchar)(eventkey是參考payment表的id的外鍵)!
『貳』 資料庫中轉換數據類型的幾種方法
oracle有三種最基本的數據類型,即字元型、數值型、日期型。 (注意需要起別名的地方要起別名)
oracle提供的單行函數中,針對不同的數據類型,提供大量實用的函數,同時提供一系列數據類型轉換函數,如下:
sql.append(" select CURVE_NAME,S_YEAR_LIMIT,AVERAGE_VALUE,to_char(d_date,'yyyy-MM-dd') d_date from t_treasury_yield_curve t where d_date = to_date ('"+d_date+"','yyyy-MM-dd')");
24 小時的形式顯示出來要用 HH24select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from al;
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from al;to_date() function。
1、日期格式參數 含義說明
D 一周中的星期幾。
DAY 天的名字,使用空格填充到 9 個字元。DD 月中的第幾天,DDD 年中的第幾天。
DY 天的簡寫名,IW ISO 標準的年中的第幾周,IYYY ISO 標準的四位年份。YYYY 四位年份,
YYY,YY,Y 年份的最後三位,兩位,一位。
select sysdate,sysdate - interval '7' month from al。
當前時間減去 7 年的時間。
select sysdate,sysdate - interval '7' year from al。
時間間隔乘以一個數字。
select sysdate,sysdate - 8 *interval '2' hour from al
2、日期到字元操作
select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from al,select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from al,select sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from al。
select sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from al。
3、字元到日期操作
select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from al。
具體用法和上面的 to_char 差不多。
4、TO_NUMBER
使用TO_NUMBER函數將字元轉換為數字
TO_NUMBER(char[, '格式'])
數字格式格式:
9 代表一個數字 。
0 強制顯示0 。
$ 放置一個$符 。
L 放置一個浮動本地貨幣符 。
. 顯示小數點 。
, 顯示千位指示符。
(2)sqlservertonumber擴展閱讀:
在使用數據類型轉換之前,同樣的 SQL 在有的伺服器不報錯,主要是資料庫的版本不同,當然該過配置的不算。
常見的兩種類型轉換錯誤如下:
ERROR: operator does not exist: integer = character varying。
ERROR: operator does not exist: character varying = integer。
字元串轉數字,數字轉字元串。這一點支持的不如 MySQL 好,當然 PostgreSQL 在新版本中也對這個問題做了改進!
第一種轉換方式:使用 CAST 函數。
SELECT * FROM xttblog WHERE id = CAST(888 AS VARCHAR);
SELECT * FROM xttblog WHERE id = CAST('888' AS integer)。
第二種轉換方式:使用「::」操作欄位。
格式,欄位 :: 要轉換為的數據類型。
SELECT * FROM xttblog WHERE id = 888 :: VARCHAR;
SELECT * FROM xttblog WHERE id = '888' :: integer。
數據類型轉換,雖然看起來很痛苦,但是如果用戶的類型用的不對,查詢效率會下降。所以,在設計的時候,欄位的類型,一定要設計的合理,尤其是在關聯表的時候。
『叄』 sql字元串轉化成數字
sqlserver:
select replace(ltrim(rtrim(phone)),' ','') as phone
from table group by replace(ltrim(rtrim(phone)),' ','')
『肆』 sql語句中 數據類型轉換 string to int
oracle: to_number(str)
sqlserver: convert(int,欄位名)
『伍』 sqlserver用sql語句怎麼返回一個月所有的天數。
可用如下sql語句:
selectconvert(varchar(10),dateadd(DAY,t2.number,t1.day),120)dayfrom
(select'2015-07'+'-01'day)t1,
(selectnumberfromMASTER..spt_valuesWHERETYPE='P'ANDnumber>=0andnumber<=31)t2
whereconvert(varchar(10),dateadd(DAY,t2.number,t1.day),120)like'2015-07%'
說明:要查詢某年某月,只許將語句中的2015-07替換即可。
結果截圖:
『陸』 在sql中怎樣獲得已知日期是星期幾
Oracle資料庫:
第一個:SELECT DECODE(dw,
0,
'星期天',
1,
'星期一',
2,
'星期二',
3,
'星期三',
4,
'星期四',
5,
'星期五',
6,
'星期六') WEEK_DAY
FROM (SELECT 7 -
TO_NUMBER(NEXT_DAY(TO_DATE('2012-12-12', 'yyyy-mm-dd'), 1) -
TO_DATE('2012-12-12', 'yyyy-mm-dd')) dw
FROM al);
第二個語句:
SELECT TO_CHAR(TO_DATE('2012-12-12', 'YYYY-MM-DD'), 'DAY') WEEK_DAY
FROM DUAL
SqlServer資料庫:
select case datepart(weekday, getdate())
when 1 then
'星期天'
when 2 then
'星期一'
when 3 then
'星期二'
when 4 then
'星期三'
when 5 then
'星期四'
when 6 then
'星期五'
when 7 then
'星期六'
end
(6)sqlservertonumber擴展閱讀:
SQL相關函數:
SQL Aggregate 函數:SQL Aggregate 函數計算從列中取得的值,返回一個單一的值。
有用的 Aggregate 函數:AVG() - 返回平均值,COUNT() - 返回行數,FIRST() - 返回第一個記錄的值,LAST() - 返回最後一個記錄的值,MAX() - 返回最大值,MIN() - 返回最小值,SUM() - 返回總和
SQL Scalar 函數:SQL Scalar 函數基於輸入值,返回一個單一的值。
有用的 Scalar 函數:UCASE() - 將某個欄位轉換為大寫,LCASE() - 將某個欄位轉換為小寫,MID() - 從某個文本欄位提取字元;
LEN() - 返回某個文本欄位的長度,ROUND() - 對某個數值欄位進行指定小數位數的四捨五入,NOW() - 返回當前的系統日期和時間,FORMAT() - 格式化某個欄位的顯示方式。
參考資料:網路——sql